1

这可能很容易,但我遇到了问题,

如何测试 div comWF 是否在 comW 中至少出现一次?

例如:

<div class="comW">
   <div class="comWF"></div>
</div>

如果我做:

if($(".comWF").length>=1)) doSomething;

它不是特别在每个 comW 中对墙体进行测试。

谢谢

4

6 回答 6

3

jQuery 为这个任务提供了一个专用的静态方法 - $.contains()

if ( $.contains( divW, divWF ) ) {
    // do your thing
}

其中divWdivWF是对这些 DIV 的 DOM 引用。

现场演示:http: //jsfiddle.net/8SadD/

于 2012-09-17T15:57:06.847 回答
3

尝试这个,

if($('.comW .comWF').length > 0)
{
   //comWF is present in comW
}

应 OP 的要求更新所有满足标准的 html 部分。

$('.comW .comWF').each(function(){

    var comWFobj = $(this);
    var comWobj = $(this).closest('.comW');

    alert(comWFobj.attr('class'));
    alert(comWobj.attr('class'));

});
于 2012-09-17T15:55:57.703 回答
3
var present = $('.comW .comWF').length > 0
于 2012-09-17T15:56:08.823 回答
2
$('.comW').each(function(){
 var hasElem = $('.comWF', this).length;
 if( hasElem ){
    // do something
 }
});
于 2012-09-17T16:04:43.717 回答
0

你也可以试试这个

if ($('.comW').find('.comWF').length > 0){
// Put your code here
}

谢谢

于 2012-09-17T15:57:51.577 回答
0

jsBin 演示

if($('.comW').find('.comWF').length){
   // found!
}

或更好:

$('.comW').each(function(){
  var $myChild = $(this).find('.comWF');
  if($myChild.length){
     // DO SOMETHING
  }
});
于 2012-09-17T16:03:03.720 回答