<div id="myMessage">Text to change</div>
下面将成功改变显示的文本:
document.getElementById("myMessage").innerHTML = "New text!";
但使用div
的选择并不:
$("myMessage").innerHTML = "This text will not appear!";
为什么?
<div id="myMessage">Text to change</div>
下面将成功改变显示的文本:
document.getElementById("myMessage").innerHTML = "New text!";
但使用div
的选择并不:
$("myMessage").innerHTML = "This text will not appear!";
为什么?
您错过了Sizzle查询中的ID选择器。但是,然后,你试图访问一个jQuery对象的DOM属性,这是行不通的。
$("#myMessage").text("This text will not appear!");
如果你想使用.innerHTML
,您可以使用get()
,但随后似乎并没有因为你不妨使用document.getElementById()
...
$('#myMessage').get(0).innerHTML = 'This text will not appear!';
// or
$('#myMessage')[0].innerHTML = 'This text will not appear!';
最后,您还可以使用如下的prop()
:
$('#myMessage').prop('innerHTML', 'This text will not appear!');
在jQuery中,您可以使用.html()
。您的选择器也缺少ID为#
。
$(function() {
$("#myMessage").html("This text will not appear!");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="myMessage">Text to change</div>
小心解释downvote? – APAD1
如果你想使用innerHTML,因为jQuery的1.6版,您可以使用prop()方法
$("#myMessage").prop('innerHTML', 'This text will not appear!');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
<div id="myMessage">Text to change</div>
试试这个:
$("#myMessage").html("This text will appear!");
“请注册已发布的答案”...什么?只有有用的/质量好的答案应该被提高。 **这些都不是有用的。** –
@KevinB是的,其中有几个已经在这个问题中了...你能告诉我我发布的答案是如何“没用”吗? – BenM
发布此消息时,我没有看到您的答案。我从目前正在工作的项目中粘贴它。没有投票/降低你的答案。为什么你已经低估了它! @BenM –
'$()'返回一个没有'.innerHTML'属性的类似数组的对象。你还需要修复你的选择器。 '$('#myMessage')[0] .innerHTML =“...”'。但是,你可以避免使用'.html()':'$('#myMessage')。html(“无论你想要什么”);'。这将是jQuery的方式。 –
你的选择器是错误的 - 你也可以使用jquery函数来做这件事 - 例如'$(“#myMessage”)。html(“my msg”);' – ochi