jQuery没有找到元素

时间:2012-09-06 13:49:28

标签: jquery selector

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>

4 个答案:

答案 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的加载发出警报并检查一切是否正常。