写在前面:给某个或多个元素自定义属性data-tar,想获取data-tar='123'的元素来进行进一步的操作,如何实现?
function getElementByAttr(tag,attr,value) { var aElements=document.getElementsByTagName(tag); var aEle=[]; for(var i=0;i<aElements.length;i++) { if(aElements[i].getAttribute(attr)==value) aEle.push( aElements[i] ); } return aEle; } window.onload=function() { var aDiv=getElementByAttr('div','data-id','123456');//返回data-id为123456的div集合 for(var i=0;i<aDiv.length;i++){ aDiv[i].style.backgroundColor='#ccc'; }}
1.定义函数getElementByAttr,该函数有三个参数tag,attr,value分别是标签 自定义属性 属性值
2.找出和目标元素同类型的元素存放在变量aElements中
3.定义个数组存放即将筛选出的元素
4.遍历同标签的元素,获取元素的自定义属性并进行判断
5.如果值等于目标元素的值,意味着元素找到
6.将符合条件的元素存放在数组中
7.如果没找到,直接return退出
8.函数调用,存放在另一个变量里,遍历循环,进行进一步操作