我有一个我认为是一个简单的选择与jQuery来改变段落上的一些文本.它完美地传统方式,即
document.getElementById('message_text').innerHTML = "hello";
Run Code Online (Sandbox Code Playgroud)
但是使用jQuery却没有.我已经检查了价值,$('#message_text')当然我看到了这些物品.
$('#message_text').innerHTML = "hello";
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?
有人有主意吗?
Pao*_*ino 20
当你做你喜欢的东西时,$('#message_text')没有常规的DOM对象,而是jQuery包装集(即使在这种情况下它只是一个元素.)如果你想访问特定的DOM属性,你可以这样做:
$('#message_text')[0].innerHTML = 'whatever';
$('#message_text').get(0).innerHTML = 'whatever';
Run Code Online (Sandbox Code Playgroud)
但是,在这种情况下,这不是必需的,因为jQuery有两个函数可以执行您想要的操作:
$('#message_text').html('whatever');
Run Code Online (Sandbox Code Playgroud)
$('#message_text').text('whatever');
Run Code Online (Sandbox Code Playgroud)
两者之间的区别在于html()它将允许HTML,同时text()将转义传递给它的任何HTML标记.使用你需要的那个而不是用innerHTML手动操作HTML.
jQuery函数$()没有返回一个HTML元素的物体,像getElementById()做而是一个jQuery的对象.在那里你只有html()相同的方法innerHTML.所以:
$('#message_text').html('hello');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9877 次 |
| 最近记录: |