通过属性获取元素
Javascript to get elements by their attributes
<body>
<span someAttribute="xyz">.....</span>
...
<div>
...
<span someAttribute="abc">.....</span>
...
<div someAttribute="pqr">.....</div>
...
</div>
</body>
这是一个示例html页面。我需要通过其属性选择html元素,我可以通过getAttribute()
获得属性值,但我需要首先选择所有元素。
如何在javascript中获得属性名称为"someAttribute"的元素。一旦我得到了元素,我就可以得到属性值并使用我的函数。
注意:我想这样做,不使用jquery
在新的浏览器中,你可以这样做:
var el = document.querySelector('[someAttribute="someValue"]');
将每个元素存储在数组中,循环遍历每个元素,如果元素包含someAttribute属性,则执行操作。
var arr_elms = [];
arr_elms = document.body.getElementsByTagName("*");
var elms_len = arr_elms.length;
for (var i = 0; i < elms_len; i++) {
if(arr_elms[i].getAttribute("someAttribute") != null){
alert("FOUND : " + arr_elms[i].getAttribute("someAttribute"));
}
}
您可以使用document.body.getElementsByTagName("div")
通过标记名称选择元素来获取文档中的所有div元素。这个函数返回一个元素数组,您可以解析并过滤掉不符合条件的元素。
可以遍历DOM树的所有元素
可以使用
var all = document.getElementsByTagName('*');
,但这也返回html
, head
和body
…
,然后循环遍历所有元素并查找属性
我找到了一个名为getElementsByAttribute(doc, tagArray, attribute, attributeValue)
的代码片段
你可以尝试一下工作小提琴:http://jsfiddle.net/Yx7EU/
相关文章:
- React - 从 DOM 元素获取组件以进行调试
- 如何使用 JQuery 从相对元素获取 html 文本
- 从同一域上的 iframe 中的元素获取值
- 使用本机 Javascript 从 DOM 元素获取选择器字符串
- 使用jquery从另一个元素获取使用id的输入的id
- 如何从角度元素获取编译的节点值
- 如何为不同的元素获取不同的父类
- 从 jQuery 中的子元素获取父 tr 元素
- 当浮点部分为空时,从 JQuery 中的输入元素获取数字值不起作用
- 从 XML 元素获取文本
- 从音频元素获取音频样本
- 从所选元素 html 上方的元素获取属性值
- 使用 jQuery.data 从 dom 元素获取布尔值
- 如何通过jquery从某个元素获取部分文本
- 从输入元素获取表单和表单数据对象
- 从动态元素获取挖空视图的大小
- 从中继器循环中显示的子自定义元素获取正确的上下文.奥蕾莉亚
- 如何使用 JavaScript 或 JQuery 从输入类型=文件 html 元素获取文件名
- 从父元素获取 ID 并将它们放在数组中
- 尝试从选项元素获取 HTML