您能告诉我是否有DOM API可以搜索具有给定属性名称和属性值的元素:
类似于:
doc.findElementByAttribute("myAttribute", "aValue");
发布于 2018-01-21 17:01:20
我们可以通过使用document.querySelector()
和document.querySelectorAll()
方法在DOM中使用属性选择器。
对于你的:
document.querySelector("[myAttribute='aValue']");
并通过使用querySelectorAll()
document.querySelectorAll("[myAttribute='aValue']");
在querySelector()
和querySelectorAll()
方法中,我们可以像在"CSS“中选择一样来选择对象。
有关https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors中的"CSS“属性选择器的详细信息
发布于 2014-01-24 18:15:03
FindByAttributeValue("Attribute-Name", "Attribute-Value");
附注:如果您知道确切的元素类型,则需要添加第三个参数(即div, a, p ...etc...
):
FindByAttributeValue("Attribute-Name", "Attribute-Value", "div");
但是首先,定义这个函数:
function FindByAttributeValue(attribute, value, element_type) {
element_type = element_type || "*";
var All = document.getElementsByTagName(element_type);
for (var i = 0; i < All.length; i++) {
if (All[i].getAttribute(attribute) == value) { return All[i]; }
}
}
附注:根据评论和建议进行更新。
发布于 2020-06-12 05:05:06
使用查询选择器,示例:
document.querySelectorAll(' input[name], [id|=view], [class~=button] ')
具有name
属性的input[name]
输入元素。
id以view-
开头的[id|=view]
元素。
具有button
类的[class~=button]
元素。
https://stackoverflow.com/questions/2694640
复制相似问题