我明白,在正常情況下,您會使用querySelector爲多個選擇單個元素和querySelectorAll。但是,我驚訝地發現querySelectorAll不能用於單個元素。我預計它會與一個或更多的工作。我找不到任何說不應該工作只有一個,所以我在這裏問這是正常的,根據規格?無法爲單個元素使用querySelectorAll?
HTML:
<div class="top container">
<div class="pod" draggable="true">big</div>
<div class="pod" draggable="true">small</div>
<div class="pod" draggable="true">happy</div>
<div class="pod" draggable="true">rich</div>
<div class="pod" draggable="true">fast</div>
</div>
JS:
本function dragStart(e) {
console.log("drag started");
e.target.style.opacity = "0.5";
}
作品(的dragstart函數被調用):
var topPods = document.querySelector(".top");
topPods.addEventListener("dragstart", dragStart);
但不與該作品(的dragstart功能不稱爲):
var topPods = document.querySelectorAll(".top");
topPods.addEventListener("dragstart", dragStart);
'document.querySelectorAll [0] === document.querySelector(「 頂部」)' - 前者的收益類似數組的對象,後者返回一個單一的項目。 –
另請參見[將可迭代元素或非可迭代元素展開到數組中,而不檢查元素.length](http://stackoverflow.com/questions/40198807/expand-an-iterable-element-or-non-iterable-element -into-an-array-without-checkin) – guest271314