在我的HTML页面中,我有一个范围:
<span id="nlbNode">...</span>
在我的$(document).ready函数中,我有以下内容。
if (document.getElementById("nlbNode")) {
document.getElementById("nlbNode").innerHTML = "A";
}
这样可行,但如果我这样做:
if (document.getElementById("nlbNode")) {
$("#nlbNode").innerHTML = "A";
}
它不起作用。它什么都不做。甚至没有错误。 span的innerHTML保持不变。
那么,为什么它不起作用呢?
答案 0 :(得分:3)
jQuery的Node元素没有innerHTML
方法。如果您想使用innerHTML
,可以通过.get()
检索元素的DOM副本:
$("#nlbNode").get(0).innerHTML = "A"
或者使用jQuery&#39; .text()
方法:
$("#nlbNode").text("A");
答案 1 :(得分:2)
我假设,因为你说你包括
$(document).ready(function() {};
你有jQuery包含在某个地方。这意味着您可以.html()
获得结果。例如:
if (document.getElementById("nlbNode")) {
$("#nlbNode").html("A");
}
修改强> 对不起,我忘记了其余的答案。你现在可能已经知道了,虽然我会再说一遍。 jQuery在其节点中没有innerHtml方法,因为它不会像其他框架一样返回DOM元素。