gpt4 book ai didi

jquery - 为什么jquery对不存在的选择器执行代码

转载 作者:行者123 更新时间:2023-12-01 03:18:16 25 4
gpt4 key购买 nike

我想知道 jquery 的执行情况。假设我有一个不存在的ID,为什么jquery仍然尝试执行那部分代码:

$(function() {
$( "#datepicker_doesnotexist" ).datepicker({
defaultDate: new Date(date_var)
});
});

在这种情况下,它提示 date_var 未定义。这是可以理解的,我可以进行检查来防止这种情况发生,等等。

我想知道如果该 ID (datepicker_doesnotexist) 不存在,为什么 jQuery 会执行这部分代码。如果无论如何都无法将其绑定(bind)到元素,那么这样做似乎效率非常低。

一个例子: http://jsfiddle.net/CdE3k/

最佳答案

您尚未初始化date_var。这应该会阻止抛出错误

 $(function() {
var date_var = new Date( 2012, 10, 25 );

$( "#datepicker_doesnotexist" ).datepicker({
defaultDate: date_var
});
});

如果没有找到具有匹配 ID 的元素,jQuery 将返回一个没有元素的 jQuery 对象。返回的 jQuery 对象上的 datepicker 方法仍会被调用,但它只是没有任何可使用的 html 元素。

这实际上是一件好事。如果 jQuery 在没有元素与 ID 匹配时返回 undefined,则上述代码将引发错误。

关于jquery - 为什么jquery对不存在的选择器执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13075639/

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