【发布时间】:2010-08-12 10:02:44
【问题描述】:
我在尝试找出父元素是否没有具有特定类的元素时遇到问题,如下所示:
//点击表单里面的按钮后——获取父表单的实例
var par = $(this).parent('form');
if(!par.has('warn')) {
//做某事
}
任何想法如何实现它 - 因为 has() 似乎没有找到它
【问题讨论】:
我在尝试找出父元素是否没有具有特定类的元素时遇到问题,如下所示:
//点击表单里面的按钮后——获取父表单的实例
var par = $(this).parent('form');
if(!par.has('warn')) {
//做某事
}
任何想法如何实现它 - 因为 has() 似乎没有找到它
【问题讨论】:
.has 不返回布尔值,因此如果没有匹配项,则返回的对象有 0 个成员。
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
<form>
<div><input id="thebutton" type="button" value="Click Me" /></div>
<div class="test">test div</div>
</form>
<script>
$(document).ready(function() {
$('#thebutton').click(function() {
var par = $(this).parent('form');
if(par.has('.warn').length === 0) {
// do something
alert('nothing');
}
});
});
</script>
</body>
</html>
【讨论】:
has 也不应该这样使用 - 它只会检查 form 是否具有类,如果它没有。