InnerHTML - 自调用函数有效,但为什么 Jquery 文档就绪不起作用?

标签 innerhtml document-ready self-invoking-function

我正在测试在没有任何事件处理程序的情况下用 innerHTML 编写一些东西。我想知道为什么 Jquery document ready 不起作用 - 我认为它应该是一个自调用函数?常规自调用函数确实有效。

如果我在 HTML 中有这个

<div id="content">
  <p><span id="html_span1"></span></p>
  <p><span id="html_span2"></span></p>
</div>    

在 JS 中,常规的自调用函数起作用:

(function(){
     document.getElementById('html_span1').innerHTML = "self invoking function works";
}());    

但不是 Jquery 就绪函数:

$(document).ready(function() {
    document.getElementById('html_span2').innerHTML = "Is this displayed?";
});    

如果我将 Jquery 函数放在顶部,那么其他函数将停止工作 - 为什么会这样? 还有,以 }()); 结尾的自唤起函数。 - 额外的括号非常重要,否则它不起作用。我不明白那个括号的意思?

最佳答案

如果您正在使用 Jquery,最好使用选择器:

$( document ).ready(function() {
// Handler for .ready() called.
    $("#html_span2").html("Is this displayed?");
});

看到它运行并使用它: http://jsfiddle.net/c66t0tb2/

关于InnerHTML - 自调用函数有效,但为什么 Jquery 文档就绪不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26899125/

相关文章:

javascript - 需要一些关于 jQuery DOMready 的解释

javascript - 为什么我不能使用 onsubmit 来改变 innerHTML?

JavaScript - 使用innerHTML作为实际的html而不是纯文本

javascript - 脚本执行 - innerHTML, jQuery html()

css 属性不加载

javascript - 加载 DOM 后立即在具有特定类的元素上运行函数,而不是使用事件处理程序

javascript - 自调用函数调用其他函数的问题

javascript - 自调用匿名函数

javascript - 为什么不在闭包中重置变量 (Javascript)

jQuery 字符串到 DOM,无需 DOM 插入