2017-09-03 50 views
-1

我需要把單詞「你好」包含屬性跨度「數據什麼」,即這個跨度:如何選擇跨度誰具有特定屬性

<span data-whatever="nomatterwhat"> </ span> 

我需要這樣做:

$ ("span[data-whatever]").html("hello"); 

請注意,上面這是與JQuery,但我需要知道如何做與純JavaScript的相同。

+0

使用DOM API。 https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector –

+0

嘗試使用「CSS屬性選擇器」的Google搜索。 – 2017-09-03 05:16:13

+0

我不同意@torazaburo,你連接的這個問題不是這個問題的重複。這是CSS,如果你知道答案和我在這裏需要的關係是什麼,那麼對你有好處,但我不知道如何解決我與你鏈接的帖子的問題。 –

回答

1

您可以使用querySelector

document.querySelector('span[data-whatever]').innerHTML = "You text";

+0

這根本不起作用。 – 2017-09-03 05:28:34

+0

它適用於我的情況,非常感謝 –

+0

@torazaburo OP已接受它。你能否告訴我這個答案有什麼問題,以便我可以改進它。我應該循環查詢任何'querySelectorAll'返回並設置innerHTML或使用'querySelector'? – adiga

-1

試試這個:

var el = document.querySelectorAll('span'); 
el.forEach(function(item){ 
    if(item.hasAttribute('data-whatever')){ 
    item.innerHTML = 'Hello'; 
    } 
}) 
+0

我更新了代碼來修復它。 – adda82

+0

這不太可能適用於所有瀏覽器,因爲'querySelectorAll'的結果是'NodeList',它可能沒有'forEach'方法。在任何情況下,爲什麼不只是使用屬性選擇器來開始? – 2017-09-03 05:29:20