首页 > 其他 > 详细

实现一个 $attr(name,value) 遍历;属性为 name 值为 value 的元素集合

时间:2020-04-01 23:51:08      阅读:137      评论:0      收藏:0      [点我收藏+]
<body>
  <div class="box clearfix"></div>
  <div name="zs"></div>
  <div class="box"></div>
  <div name="ls"></div>
  <div class="attr"></div>
  <div class="box2"></div>
  <div class="box A"></div>
</body>
 
--------------------------------------------------------------------------------------------------------------------------------------
 
function $attr(property, value) {
  // 获取当前页面中所有的标签
  let elements = document.getElementsByTagName(‘*‘),
    arr = [];
  elements = Array.from(elements); // => 把非数组转换为数组
  elements.forEach(item => {
    // => 储存的是当前元素 property 对应的属性值
    let itemValue = item.getAttribute(property);
    if (property === ‘class‘) {
      // => 样式类属性名要特殊处理
      new RegExp("\\b" + value + "\\b").test(itemValue) ? arr.push(item) : null;
      return;
    }
    if (itemValue === value) {
      // => 获取的值和传递的值校验成功
      arr.push(item);
    }
  });
return arr;
}
console.log($attr(‘class‘, ‘box‘));

实现一个 $attr(name,value) 遍历;属性为 name 值为 value 的元素集合

原文:https://www.cnblogs.com/HYTing/p/12616816.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!