javascript - jquery 更改 P 的 innerhtml 不起作用

标签 javascript jquery

我有一个我认为是使用 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/

相关文章:

javascript - 在 jQuery 中测试字符串是否为 XML 文档

javascript - Jquery类切换

javascript - 如何动态更改我的包含到 js 文件?

javascript - 使用 Apps 脚本在 onclick 内调用函数

javascript - jQuery:重构惰性代码

javascript - 如何将视频分成几秒,然后在用户每次提交电子邮件地址时显示 1 秒

javascript - 使用 jQuery 并行执行多个 promise 后等待完成

javascript - meteor 通用代码中的多个集合

javascript - 将 'error' 消息添加到 Isotope.JS 搜索过滤器?

javascript - 单击处理程序干扰 CSS 悬停状态