<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