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