gpt4 book ai didi

javascript - 避免 jQuery 静默失败的模式

转载 作者:数据小太阳 更新时间:2023-10-29 05:01:52 26 4
gpt4 key购买 nike

有什么好的做法可以避免您的 jQuery 代码静默失败吗?

例如:

$('.this #is:my(complexSelector)').doSomething();

我知道每次执行这一行时,选择器都会匹配至少一个元素或一定数量的元素。是否有任何标准或好的方法来验证这一点?

我想过这样的事情:

var $matchedElements = $('.this #is:my(complexSelector)');
if ($matchedElements.length < 1)
throw 'No matched elements';
$matchedElements.doSomething();

此外,我认为单元测试是一个有效的选择,而不是弄乱代码。

我的问题可能很愚蠢,但我想知道是否有比我目前正在做的事情更好的选择。另外,也许我检查是否有任何元素与我的选择器匹配的方式有误。然而,随着页面继续增长,选择器可能会停止匹配某些元素,并且某些功能可能会无意中停止工作。

最佳答案

你可以写一个插件:

jQuery.fn.requireElements = function (amount, exactMatch) {
if (amount === undefined) {
amount = 1;
};

if (this.length < amount || this.length > amount && exactMatch) {
throw new Error(this.length " elements instead of " (exactMatch ? "at least " : "") + amount);
};

return this;
};

然后:

$('yourSelector').requireElements(2).bind('click', function () {

});

关于javascript - 避免 jQuery 静默失败的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3047932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com