JavaScript判断DOM是否含有class

本文主要介绍了如何用javascript判断dom是否有存在某class的值。具有很好的参考价值,下面跟着小编一起来看下吧
例如:

<html>
<head>
</head>
<body>
	<div class="bg img" id="app">
		<p class="aaa"></p>
	</div>
</body>
</html>

判断html节点的class是否有no-js。
1. jquery的实现方式
$(".img").hasClass(‘bg’);
jquery源码的实现方式:
var rclass = /[\t\r\n\f]/g;
jQuery.fn.extend({
hasClass: function(selector) {
var className = " " + selector + " “,
i = 0,
l = this.length;
for (; i < l; i++) {
if (this[i].nodeType === 1 &&
(” " + this[i].className + " “).replace(rclass, " “).indexOf(className) > -1) {
return true;
}
}
return false;
}
})
2. js的实现方式
function hasClass(element, cls) {
return (’ ’ + element.className + ’ ‘).indexOf(’ ’ + cls + ’ ') > -1;
}
console.log(hasClass(document.querySelector(”.img”), ‘bg’))
3. H5的classList
说明下:
字符串的indexOf方法是无法区分.no-js和.no-js-indeed这样的类;类名的分隔符可能不是空格,还有可能是\t等。
代码:

var hasClass = (function() {
		var div = document.createElement("div");
		if("classList" in div && typeof div.classList.contains === "function") {
			return function(elem, className) {
				return elem.classList.contains(className);
			};
		} else {
			return function(elem, className) {
				var classes = elem.className.split(/\s+/);
				for(var i = 0; i < classes.length; i++) {
					if(classes[i] === className) {
						return true;
					}
				}
				return false;
			};
		}
	})();
	alert(hasClass(document.querySelector(".img"), "bg"));

结果:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值