日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

html判断是否有某个元素,JS基础篇--如何用JavaScript判断dom是否有存在某class的值?...

發布時間:2025/3/15 javascript 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html判断是否有某个元素,JS基础篇--如何用JavaScript判断dom是否有存在某class的值?... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

例如:

判斷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;

}

})

源碼里面用到了nodeType,nodeType是HTML DOM 的nodeType 屬性,nodeType 屬性返回以數字值返回指定節點的節點類型。常用的一般有三種:

如果節點是元素節點(Element),則 nodeType 屬性將返回 1。

如果節點是屬性節點(Attr),則 nodeType 屬性將返回 2。

如果節點是文本節點(Text),則nodeType 屬性將返回 3。

例如,獲得 body 元素的節點類型:

document.body.nodeType;//1

如果想了解更多的節點類型,可查看:HTML DOM nodeType 屬性

2.js的實現方式

function hasClass(element, cls) {

return (' ' + element.className + ' ').indexOf(' ' + cls + ' ') > -1;

}

hasClass(document.querySelector("html"), 'no-js');

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.documentElement, "no-js") ) ;

總結

以上是生活随笔為你收集整理的html判断是否有某个元素,JS基础篇--如何用JavaScript判断dom是否有存在某class的值?...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。