如何使用jQuery查找元素是否包含特定的类
How do I find if an element contains a specific class with jQuery?
我需要使用JQUERY检查元素是否包含某个子类。
我试过了:
if ($('#myElement').has('.myClass')) {
do work son
}
没用。
我的html代码如下所示:
<div id="myElement">
<img>
<span>something</span>
<span class="myClass">Hello</span>
</div>
最简单的方法是搜索.myClass
作为#myElement
:的子级
if($('#myElement .myClass')).length > 0)
如果你只想要一级的孩子,你可以使用>
if($('#myElement > .myClass')).length > 0)
另一种方法是将选择器传递给find
并检查任何结果:
if($('#myElement').find('.myClass').length > 0)
或仅适用于一级儿童:
if($('#myElement').children('.myClass').length > 0)
只需使用QS
var hasClass = document.getElementById("myElement").querySelector(".myClass");
或者你可以在儿童上重复出现
var element = document.getElementById("myElement");
var hasClass = recursivelyWalk(element.childNodes, function hasClass(node) {
return node.classList.contains("myClass");
});
function recursivelyWalk(nodes, cb) {
for (var i = 0, len = nodes.length; i < len; i++) {
var node = nodes[i];
var ret = cb(node);
if (ret) {
return ret;
}
if (node.childNodes && node.childNodes.length) {
var ret = recursivelyWalk(node.childNodes, cb);
if (ret) {
return ret;
}
}
}
}
使用recursivelyWalk
和.classList
(可以匀场)。
或者,您可以使用jQuery
$("#myElement .myClass").hasClass("myClass");
或者,如果您想要没有jQuery的复合操作,请尝试NodeComposite
NodeComposite.$("#myElement *").classList.contains("myClass");
尝试:
if($('#myElement').children('.myClass').length) {
// Do what you need to
}
jQuery对象返回一个数组,该数组具有.length
属性。上面的代码检查#myElement
中是否有.myClass
子级,如果有(当.length
不为0时),则执行if()
语句中的代码。
这里有一个更明确的版本:
if($('#myElement').children('.myClass').length > 0) {
// Do what you need to
}
你也可以一直使用$('#myElement .myClass').length
,但$.children()
对一些人来说更清晰。要查找不是直接子级的元素,请使用$.find()
代替$.children()
。
if($.contains($('#myElement'), $('.myClass'))){
alert("True");
}
else{alert("False")};
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 此行是否包含函数声明
- 查找对象数组是否包含其中一个标记的最快方法
- 如何使用JQuery检查输入(电子邮件)字段是否包含特殊字符
- 是否在Script Src标记中包含Script<脚本>(JavaScript等)
- 是否可以在JavaScript中包含HTML代码
- 检查数组是否包含
- jQuery事件命名空间是否可以包含破折号
- 在添加或删除之前,正在使用检查classList是否包含类
- 确定数组是否包含偶数
- 如何检查 iframe 中的锚标记是否包含 URL
- 检查选择器在jQuery中是否包含文本(即不是媒体)
- 我是否应该在网站的每个页面上都包含 Google 地图脚本标签
- 如何检查数据表是否有任何包含字符串的行并获取它的行索引
- 在 html 文件中包含无缓存元标记是否也会阻止缓存该 html 文件中链接的 js 和 css 文件
- 检查字符串是否包含计算
- 使用 javascript 检查元素是否包含子标记而不是文本
- 这些JavaScript包含定义是否有区别
- 在ParseInstallation对象中包含用户名是否不合适?
- 如何使用正则表达式匹配不包含特定子字符串的字符串?