如何使用 JavaScript 检查 body 是不是有特定的类?
Posted
技术标签:
【中文标题】如何使用 JavaScript 检查 body 是不是有特定的类?【英文标题】:How check if body has a specific class with JavaScript?如何使用 JavaScript 检查 body 是否有特定的类? 【发布时间】:2012-03-20 22:01:07 【问题描述】:如何检查 body 是否有特定的类? 这是我的情况:
<body class="foo foo1 foo3"></body>
【问题讨论】:
看看this question。它有一些很好的例子。 Test if an element contains a class? 的可能重复项——请在提出新问题之前使用搜索。 jQuery has been ask before as well 是如何完成的。 【参考方案1】:现在有一种超级简单的方法可以做到这一点:
document.body.classList.contains('my-class-name')
【讨论】:
【参考方案2】:document.getElementsByTagName("body")[0].className.match(/foo/)
【讨论】:
此解决方案还匹配包含 foo 的类,例如“foobar”。 我收到此错误:Uncaught TypeError: Cannot read property 'className' of undefined
【参考方案3】:
jQuery.hasClass 为我工作...
非 jQuery 答案,试试if( document.body.className.match('foo') ) ...
【讨论】:
我认为这应该是答案;不需要额外的功能;干净得多。【参考方案4】:function hasClass(ele,cls)
return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
if(hasClass(document.getElementById("test"), "test"))//do something;
也许这对你有帮助:-)
使用 jQuery 会更简单,代码更少,但没关系!
【讨论】:
你应该添加单引号或双引号,否则它不起作用:$('body')
【参考方案5】:
您可以为此使用Mozilla classList。
链接页面也有跨浏览器解决方案。
【讨论】:
【参考方案6】:当使用 jQuery 的 .hasClass
查找特定的 body 类时,这会返回一个 true
或 false
的字符串:
$("body").hasClass("your-class-name").toString();
【讨论】:
【参考方案7】:当使用 jQuery 的 .hasClass
查找特定的 body 类时,这会返回一个字符串 true or false
:
if ($("body").hasClass("modal-open"))
$("body").removeClass("modal-open");
【讨论】:
以上是关于如何使用 JavaScript 检查 body 是不是有特定的类?的主要内容,如果未能解决你的问题,请参考以下文章
我如何使用JavaScript在json中搜索指定的结果[键+值]? [关闭]