jQuery没有找到任何元素。 alert($("#testbutton").length);
每次都显示0。
我做错了吗?
我的JS / jQuery代码:
(function ($) {
alert($("#testbutton").length);
}) (jQuery);
我的HTML:
<html>
<body>
<div id="header">
<div class="button" id="testbutton">Test</div>
</div>
</body>
</html>
答案 0 :(得分:5)
当您的代码运行时,DOM尚未就绪,因此该元素不存在。你的意思是这样做(将函数传递给jQuery是$(document).ready(fn)
)的快捷方式:
$(function () {
alert($("#testbutton").length);
});
答案 1 :(得分:2)
如果你使用以下方法编写jQuery脚本:
(function() {
...
})();
它不起作用,因为它可能在加载正文页面的内容之前执行脚本。
使用:
$(document).ready(function() {
...
});
或在页脚处移动脚本。
答案 2 :(得分:1)
在文档准备就绪时调用它,如您所见:http://jsfiddle.net/SwQUH/
$(document).ready(function() {
alert($("#testbutton").length);
});
如果您只是这样称呼它,那么DOM就不会“准备好”,并且HTML元素还不存在。
答案 3 :(得分:0)
尝试以下
<script type="text/javascript">
首先确保加载jquery时没有错误
对DOM的加载发出警报并检查一切是否正常。