全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

如何用js判断dom是否有存在某class的值

例如:

<html class="no-js">
<head>
</head>
<body>
</body>
</html>

判断html节点的class是否有no-js。

1.jquery的实现方式

$("html").hasClass('no-js');

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;
}
hasClass(document.querySelector("html"), 'no-js');

3.H5的classList

说明下:

  1. 字符串的indexOf方法是无法区分.no-js和.no-js-indeed这样的类;
  2. 类名的分隔符可能不是空格,还有可能是\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.documentElement, "no-js") ) ;

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# js  # dom  # class  # JS实现利用闭包判断Dom元素和滚动条的方向示例  # JS判断指定dom元素是否在屏幕内的方法实例  # javascript判断元素存在和判断元素存在于实时的dom中的方法  # JS公共小方法之判断对象是否为domElement的实例  # JS/jQuery判断DOM节点是否存在的简单方法  # 如何判断出一个js对象是否一个dom对象  # JavaScript判断DOM何时加载完毕的技巧  # 基于javascript原生判断DOM是否加载完毕  # 分隔符  # var  # rclass  # jquery  # code  # hasClass 


相关文章: 如何在IIS服务器上快速部署高效网站?  招商网站制作流程,网站招商广告语?  如何正确选择百度移动适配建站域名?  建站主机系统SEO优化与智能配置核心关键词操作指南  C#如何在一个XML文件中查找并替换文本内容  济南专业网站制作公司,济南信息工程学校怎么样?  网站专业制作公司有哪些,做一个公司网站要多少钱?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  太平洋网站制作公司,网络用语太平洋是什么意思?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  如何在橙子建站中快速调整背景颜色?  黑客如何利用漏洞与弱口令入侵网站服务器?  上海网站制作开发公司,上海买房比较好的网站有哪些?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之星如何实现网站加密操作?  油猴 教程,油猴搜脚本为什么会网页无法显示?  php json中文编码为null的解决办法  如何选择高效便捷的WAP商城建站系统?  如何通过主机屋免费建站教程十分钟搭建网站?  如何零基础开发自助建站系统?完整教程解析  如何快速上传建站程序避免常见错误?  贸易公司网站制作流程,出口贸易网站设计怎么做?  盐城做公司网站,江苏电子版退休证办理流程?  如何获取开源自助建站系统免费下载链接?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  如何在Ubuntu系统下快速搭建WordPress个人网站?  如何在万网自助建站中设置域名及备案?  如何用VPS主机快速搭建个人网站?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  教学网站制作软件,学习*后期制作的网站有哪些?  5种Android数据存储方式汇总  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  网站app免费制作软件,能免费看各大网站视频的手机app?  历史网站制作软件,华为如何找回被删除的网站?  定制建站方案优化指南:企业官网开发与建站费用解析  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  如何快速完成中国万网建站详细流程?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  网站制作费用多少钱,一个网站的运营,需要哪些费用?  佛山企业网站制作公司有哪些,沟通100网上服务官网?  音响网站制作视频教程,隆霸音响官方网站?  自助网站制作软件,个人如何自助建网站?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。