2012-11-19 145 views
3

假設我有以下標記:如何通過數據集屬性訪問元素直接

<div id="Movie" data-genre="horror">The Hills Have Eyes</div> 

我知道,我可以訪問element's使用的數據集的屬性:

document.getElementById("Movie").dataset.genre 

document.getElementById("Movie").getAttribute("data-genre") 

但是有沒有辦法讓所有具有相同流派的元素不使用任何其他功能?我想類似的東西:

document.getElementsByDataSetKey(key) 

回答

10

你可以嘗試querySelectorAll

document.querySelectorAll('[data-genre~="horror"]'); 

會給你一個包含恐怖的數據類型的所有元素。

+0

我認爲這將是一個問題,如果有超過1種流派,在這種情況下應該使用'〜='而不是'='。 – nhahtdh

+0

@nhahtdh你想要具有相同流派的元素,只需用你想要的流派替換「恐怖」。 – Musa

+0

我指的是'data-genre'中的列表有多個項目的情況。 – nhahtdh

相關問題