这有效:
if (thediv.find('.theclass1').length) {
alert('id1 has class1');
}
这不起作用:
if (thediv.hasClass('theclass1')) {
alert('id1 has class1...');
}
我正在寻找简洁和/或高效的东西......
顺便说一句,我实际上使用的是 $(this) 而不是 thediv ...
这有效:
if (thediv.find('.theclass1').length) {
alert('id1 has class1');
}
这不起作用:
if (thediv.hasClass('theclass1')) {
alert('id1 has class1...');
}
我正在寻找简洁和/或高效的东西......
顺便说一句,我实际上使用的是 $(this) 而不是 thediv ...
两个 if 检查不同的东西!
第一个检查 thediv 是否包含与选择器 .class1 匹配的元素
第二个检查 thediv 是否具有类 class1。
根据您真正需要检查的内容,您应该选择正确的,这已经很简洁了。
如果简洁是您的目标,那么尽管在内部,jQuery 将其转换回您在原始版本中的形式,但以下工作有效:
if ($('.theclass1', this).length) {
alert('id1 has class1');
}
这会在或theclass1
的上下文中查找类的所有元素。this
$(this)
如果您希望第二个代码有效,请将其替换为:
if (thediv.find().hasClass('theclass1')) {
alert('id1 has class1...');
}