我有一个我认为是使用 jQuery 的简单选择来更改段落中的一些文本。它以传统方式完美运行,即
document.getElementById('message_text').innerHTML = "hello";
但是使用 jQuery 则不然。我检查了 $('#message_text')
的值,果然我看到了项目。
$('#message_text').innerHTML = "hello";
我做错了什么吗?
有人有什么想法吗?
最佳答案
当您执行类似$('#message_text')
的操作时,您所拥有的不是常规 DOM 对象,而是一个 jQuery 包装集(即使在这种情况下它只是一个元素。)如果你想访问特定的 DOM 属性,你可以这样做:
$('#message_text')[0].innerHTML = 'whatever';
$('#message_text').get(0).innerHTML = 'whatever';
但是,在这种情况下这不是必需的,因为 jQuery 有两个函数可以执行您想要的操作:
html()
:
$('#message_text').html('whatever');
text()
:
$('#message_text').text('whatever');
两者之间的区别在于 html()
将允许 HTML 而 text()
将转义您传递给它的任何 HTML 标记。使用您需要的那个,而不是使用 innerHTML 手动操作 HTML。
关于javascript - jquery 更改 P 的 innerhtml 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/935956/