jQuery找不到元素
jQuery找不到任何元素<代码>警报($(“#测试按钮”).length)代码>每次显示0 我做错什么了吗 我的JS/jQuery代码:jQuery找不到元素,jquery,selector,Jquery,Selector,jQuery找不到任何元素警报($(“#测试按钮”).length)每次显示0 我做错什么了吗 我的JS/jQuery代码: (function ($) { alert($("#testbutton").length); }) (jQuery); <html> <body> <div id="header"> <div class="button" id="testbutton">Test&
(function ($) {
alert($("#testbutton").length);
}) (jQuery);
<html>
<body>
<div id="header">
<div class="button" id="testbutton">Test</div>
</div>
</body>
</html>
我的HTML:
(function ($) {
alert($("#testbutton").length);
}) (jQuery);
<html>
<body>
<div id="header">
<div class="button" id="testbutton">Test</div>
</div>
</body>
</html>
试验
当代码运行时,DOM未就绪,因此元素不存在。您是不是打算这样做(将函数传递给jQuery是$(document.ready(fn)
)的快捷方式):
在document ready上调用它,如下所示: 如果您只是这样调用它,那么DOM还没有“就绪”,HTML元素也不存在。请尝试以下操作
<script type="text/javascript">
首先确保加载jquery时没有错误
加载DOM时发出警报,并检查是否一切正常。如果您使用以下命令在头部编写jQuery脚本:
(function() {
...
})();
它无法工作,因为它可能会在加载正文页的内容之前执行脚本
使用:
或者在页脚移动脚本。(函数($){})(jQuery);等价于$(函数(){})@InternalServerError-不,不是。它只是在
jQuery
对象中传递的一个立即执行的函数表达式。第二种是完全不同的——将函数传递给jQuery;第一个是IIFE,它只将jQuery
变量传递给正在执行的函数;第二个是$(document).ready(function(){})的缩写代码>您的代码可以在fiddle中找到。
$(document).ready(function() {
...
});