.querySelectorAll如何只采用具有所有属性的元素

时间:2016-05-15 12:03:47

标签: javascript class selectors-api

如果我有那个字符串:`

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

它包含具有第一个属性的所有元素和具有第二个属性的所有元素。

我如何只采用具有每个属性的元素?

2 个答案:

答案 0 :(得分:5)

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

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

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

如果应选择仅具有nameclass类属性的元素,则选择器应为:

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

答案 1 :(得分:1)

我已经解决了这个问题:

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

删除,

感谢所有回复