判断多个节点自定义属性值是否一样

本文介绍了一个用于检查HTML元素自定义属性一致性的JavaScript函数dataAttr。该函数接收一个包含DOM节点的数组及自定义属性名作为参数,返回这些节点的指定自定义属性值是否完全相同。通过实际例子展示了其用法。

考虑到页面可能引入jquery,也加了判断。 封装了一个dataAttr函数,需要传入两个参数。 第一个参数:装有节点的数组或者伪数组,来判断这些数组的某个自定义属性值是否一致。 第二个参数:自定义属性。 返回值:true || false 。

上源码:  

0<!DOCTYPE html>
1<html lang="en">
2<head>
3<meta charset="UTF-8">
4<title>Document</title>
5</head>
6<body>
7<div data-xue="fh"></div>
8<div data-xue="fh"></div>
9<div data-xue="fh"></div>
10<div data-xue="fh"></div>
11<div data-xue="fh"></div>
12<div data-xue="fh"></div>
13<div data-xue="fh"></div>
14<p data-xue="fh"></p>
15<p data-xue="fh333"></p>
16<p data-xue="fh"></p>
17<span data-xue="fh"></span>
18<script src="../test/node_modules/jquery/dist/jquery.js"></script>
19<script>
20var div = document.querySelector('div'); 
21var p = document.querySelector('p'); 
22var span = document.querySelector('span'); 
23function dataAttr(arr,attr){
24 
25var arrAttr = [],
26flag = true;
27 
28[].forEach.call(arr,function(v,i){
29if(window.jQuery && v instanceof jQuery){
30console.log('jquey对象');
31v = v[0];
32}
33arrAttr.push(v.attributes[attr].nodeValue);
34});
35 
36 
37arrAttr.forEach(function(v,i){
38if(arrAttr[0] != v){
39flag = false;
40}
41})
42 
43return flag;
44}
45console.log(dataAttr($('div'),"data-xue")); // true
46console.log(dataAttr($('p'),"data-xue")); // false
47console.log(dataAttr([div,p,span],"data-xue")); // true
48 
49</script>
50</body>
51</html>

转载于:https://www.cnblogs.com/webhb/p/5755626.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值