什么是普通JavaScript的“hasClass”函数?

2022-08-29 23:21:59

你如何用普通的JavaScript做jQuery的?例如hasClass

<body class="foo thatClass bar">

JavaScript询问是否具有?<body>thatClass


答案 1

只需使用 classList.contains()

if (document.body.classList.contains('thatClass')) {
    // do some stuff
}

类列表的其他用途:

document.body.classList.add('thisClass');
// $('body').addClass('thisClass');

document.body.classList.remove('thatClass');
// $('body').removeClass('thatClass');

document.body.classList.toggle('anotherClass');
// $('body').toggleClass('anotherClass');

浏览器支持:

  • 铬 8.0
  • 火狐 3.6
  • IE 10
  • 歌剧 11.50
  • 野生动物园 5.1

类列表浏览器支持


答案 2

您可以检查 是否匹配 。
匹配分词符。element.className/\bthatClass\b/\b

或者,您可以使用jQuery自己的实现:

var className = " " + selector + " ";
if ( (" " + element.className + " ").replace(/[\n\t]/g, " ").indexOf(" thatClass ") > -1 ) 

要回答您更一般的问题,您可以在github上查看jQuery的源代码,或者在此源代码查看器中专门查看hasClass的源代码