Javascript jquery更改P的innerhtml是';行不通
我用jQuery做了一个简单的选择,可以更改段落上的一些文本。它以传统的方式工作,即Javascript jquery更改P的innerhtml是';行不通,javascript,jquery,Javascript,Jquery,我用jQuery做了一个简单的选择,可以更改段落上的一些文本。它以传统的方式工作,即 document.getElementById('message_text').innerHTML = "hello"; 但对于jQuery,情况并非如此。我已经检查了$('#message_text')的值,我确实看到了这些项目 $('#message_text').innerHTML = "hello"; 我做错什么了吗 有人有什么想法吗?$('#message_text').html('hello')
document.getElementById('message_text').innerHTML = "hello";
但对于jQuery,情况并非如此。我已经检查了$('#message_text')
的值,我确实看到了这些项目
$('#message_text').innerHTML = "hello";
我做错什么了吗
有人有什么想法吗?$('#message_text').html('hello')
jQuery选择器返回数组,而不是DOM元素节点。jQuery函数返回的不是像getElementById()这样的Htmlement对象,而是jQuery对象。在这里,您只需要使用与innerHTML
等效的方法。因此:
$('#message_text').html('hello');
当您执行类似于$('#message_text')
的操作时,您拥有的不是一个常规的DOM对象,而是一个jQuery包装集(即使在本例中它只包含一个元素)。如果您想要访问特定的DOM属性,您可以执行以下操作:
$('#message_text')[0].innerHTML = 'whatever';
$('#message_text').get(0).innerHTML = 'whatever';
但是,在这种情况下,这是不必要的,因为jQuery有两个函数来实现您想要的功能:
:
:
两者的区别在于html()
将允许html,而text()
将转义您传递给它的任何html标记。使用你需要的方法,通过innerHTML手动操作HTML。谢谢你给出完整的解释,我删除了我的简单、不解释的答案,因为你的答案更好。
$('#message_text').html('whatever');
$('#message_text').text('whatever');