我需要把單詞「你好」包含屬性跨度「數據什麼」,即這個跨度:如何選擇跨度誰具有特定屬性
<span data-whatever="nomatterwhat"> </ span>
我需要這樣做:
$ ("span[data-whatever]").html("hello");
請注意,上面這是與JQuery,但我需要知道如何做與純JavaScript的相同。
我需要把單詞「你好」包含屬性跨度「數據什麼」,即這個跨度:如何選擇跨度誰具有特定屬性
<span data-whatever="nomatterwhat"> </ span>
我需要這樣做:
$ ("span[data-whatever]").html("hello");
請注意,上面這是與JQuery,但我需要知道如何做與純JavaScript的相同。
您可以使用querySelector
document.querySelector('span[data-whatever]').innerHTML = "You text";
這根本不起作用。 – 2017-09-03 05:28:34
它適用於我的情況,非常感謝 –
@torazaburo OP已接受它。你能否告訴我這個答案有什麼問題,以便我可以改進它。我應該循環查詢任何'querySelectorAll'返回並設置innerHTML或使用'querySelector'? – adiga
試試這個:
var el = document.querySelectorAll('span');
el.forEach(function(item){
if(item.hasAttribute('data-whatever')){
item.innerHTML = 'Hello';
}
})
我更新了代碼來修復它。 – adda82
這不太可能適用於所有瀏覽器,因爲'querySelectorAll'的結果是'NodeList',它可能沒有'forEach'方法。在任何情況下,爲什麼不只是使用屬性選擇器來開始? – 2017-09-03 05:29:20
使用DOM API。 https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector –
嘗試使用「CSS屬性選擇器」的Google搜索。 – 2017-09-03 05:16:13
我不同意@torazaburo,你連接的這個問題不是這個問題的重複。這是CSS,如果你知道答案和我在這裏需要的關係是什麼,那麼對你有好處,但我不知道如何解決我與你鏈接的帖子的問題。 –