.querySelectorAll 如何只取所有属性的元素

.querySelectorAll how to take only elements with all attributes

如果我有那个字符串:`

document.querySelectorAll("[data-name=" + CSS.escape(variable) + "]","[class='nameclass']");

它接受具有第一个属性的所有元素和具有第二个属性的所有元素。

如果只接受具有每个属性的元素,我该怎么办?

看来您正在寻找这个选择器:

document.querySelectorAll(".nameclass[data-name=" + CSS.escape(variable) + "]");

请注意,我使用 .nameclass 作为 class 选择器,这与 [class=nameclass] 不同。第一个选择其中一个 class 是 nameclass 的元素,第二个选择只有 nameclass class 属性的元素。

如果要选择只有 nameclass class 属性的元素,选择器应该是:

"[class=nameclass][data-name=" + CSS.escape(variable) + "]"

我已经解决了:

document.querySelectorAll("[data-name=" + CSS.escape(item) + "][class='placeholder matched']");

删除 ,

感谢大家的回复