我有以下 javascript:
$(document).ready(function () {
...
$("#mySelector").ready(function () {
window.alert('What the hell!!!');
});
});
我希望每次弹出窗口都会出现mySelector
我希望每次出现在文档中的某处时
我现在面临的问题是即使文档中不存在选择器,此代码仍在运行(我得到一个弹出窗口)。
为什么会这样?
我有以下 javascript:
$(document).ready(function () {
...
$("#mySelector").ready(function () {
window.alert('What the hell!!!');
});
});
我希望每次弹出窗口都会出现mySelector
我希望每次出现在文档中的某处时
我现在面临的问题是即使文档中不存在选择器,此代码仍在运行(我得到一个弹出窗口)。
为什么会这样?
ready
函数在DOM准备好时执行,实际上ready
即使您没有向 jQuery 传递任何参数,事件也会被触发,即$().ready()
它忽略选择器。您可以使用length
属性:
$(document).ready(function () {
if ( $("#mySelector").length ) {
// ...
}
});
$.ready
是所有jQuery 对象的方法,无论它们是否包含任何元素。这是 source的相关部分。
这不是ready()
. 该.ready()
方法会在 DOM 准备就绪时触发其处理程序,或者如果它已经加载,它显然会加载。它基本上忽略了选择器。
通常使用 jQuery 方法,您不需要测试是否存在。他们通常会悄悄地失败。
// Does nothing with no matches
$("#mySelector").each(function() {
alert("foobar!");
});