首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >根据属性值在DOM中查找元素

根据属性值在DOM中查找元素
EN

Stack Overflow用户
提问于 2010-04-23 05:27:28
回答 7查看 511.7K关注 0票数 367

您能告诉我是否有DOM API可以搜索具有给定属性名称和属性值的元素:

类似于:

代码语言:javascript
复制
doc.findElementByAttribute("myAttribute", "aValue");
EN

回答 7

Stack Overflow用户

发布于 2018-01-21 17:01:20

我们可以通过使用document.querySelector()document.querySelectorAll()方法在DOM中使用属性选择器。

对于你的:

代码语言:javascript
复制
document.querySelector("[myAttribute='aValue']");

并通过使用querySelectorAll()

代码语言:javascript
复制
document.querySelectorAll("[myAttribute='aValue']");

querySelector()querySelectorAll()方法中,我们可以像在"CSS“中选择一样来选择对象。

有关https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors中的"CSS“属性选择器的详细信息

票数 89
EN

Stack Overflow用户

发布于 2014-01-24 18:15:03

代码语言:javascript
复制
FindByAttributeValue("Attribute-Name", "Attribute-Value");   

附注:如果您知道确切的元素类型,则需要添加第三个参数(即div, a, p ...etc...):

代码语言:javascript
复制
FindByAttributeValue("Attribute-Name", "Attribute-Value", "div");   

但是首先,定义这个函数:

代码语言:javascript
复制
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]; }
  }
}

附注:根据评论和建议进行更新。

票数 21
EN

Stack Overflow用户

发布于 2020-06-12 05:05:06

使用查询选择器,示例:

代码语言:javascript
复制
document.querySelectorAll(' input[name], [id|=view], [class~=button] ')

具有name属性的input[name]输入元素。

id以view-开头的[id|=view]元素。

具有button类的[class~=button]元素。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2694640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档