Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery更改P的innerhtml是';行不通_Javascript_Jquery - Fatal编程技术网

Javascript jquery更改P的innerhtml是';行不通

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')

我用jQuery做了一个简单的选择,可以更改段落上的一些文本。它以传统的方式工作,即

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');