国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 17:37:21
字體:
供稿:網(wǎng)友

例如:

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

判斷html節(jié)點的class是否有no-js。

1.jquery的實現(xiàn)方式

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

jquery源碼的實現(xiàn)方式:

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的實現(xiàn)方式

function hasClass(element, cls) { return (' ' + element.className + ' ').indexOf(' ' + cls + ' ') > -1;}hasClass(document.querySelector("html"), 'no-js');

3.H5的classList

說明下:

  1. 字符串的indexOf方法是無法區(qū)分.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") ) ;

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持武林網(wǎng)!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 秀山| 营口市| 南投县| 福泉市| 台北市| 石阡县| 天柱县| 循化| 贞丰县| 烟台市| 万安县| 涟源市| 柞水县| 兰州市| 安丘市| 斗六市| 上林县| 双鸭山市| 桓台县| 南宁市| 莎车县| 五大连池市| 大洼县| 通江县| 富平县| 郧西县| 宁远县| 云林县| 获嘉县| 北海市| 莲花县| 武安市| 栾川县| 盘锦市| 麻栗坡县| 平阴县| 辉南县| 锡林郭勒盟| 中卫市| 庆阳市| 侯马市|