获取div标签内具有相同类的元素数

时间:2014-03-25 15:07:05

标签: jquery html

我正在尝试在特定div中找到类名为component ui-draggable dropped的div的数量。

以下是相应的HTML代码:

<div id="tabs-1" aria-expanded="true" aria-hidden="false">
  <div class="drag-drop-box ui-droppable">
    <div class="component ui-draggable dropped">
      <div class="product-view" >
         <a href="#"><span>C</span> us-east-1c</a>
      </div>
    </div><div class="component ui-draggable dropped">
      <div class="product-view">
         <a href="#"><span class="img-product">
         <img alt="" src="img/product_item/1.png"></span> image-11</a>
     </div>
   </div>
  </div>
 </div>

这是相应的jQuery代码:

var getid = $('div[aria-hidden="false"]').attr('id');
var clone_nums = $('#'+getid + '> div ').find('.component ui-draggable dropped').length;
alert(clone_nums

但警告总是弹出零。任何人都可以指导我这里有什么问题吗?感谢

3 个答案:

答案 0 :(得分:4)

试试这个:

$(document).ready(function(){
var getid = $('div[aria-hidden="false"]').attr('id');
var clone_nums = $('#'+getid + '> div ').find('.component.ui-draggable.dropped').length;
alert(clone_nums);
});

<强> DEMO

$(document).ready(function(){
   var clone_nums = $('div[aria-hidden="false"] > div').find('.component.ui-draggable.dropped').length;
alert(clone_nums);
});

答案 1 :(得分:1)

您可以使用.has()之类的

var $div = $('div[aria-hidden="false"]');
var clone_nums = $div.has('.component.ui-draggable.dropped').length;
  • 使用aria-hidden="false"
  • 获取所有div
  • 然后仅过滤那些具有类component ui-draggabledropped
  • 的后代的人
  • 当然,您需要在dom树中加载目标元素后执行脚本

答案 2 :(得分:1)

var clone_nums = $('div[aria-hidden="false"]').find('div.component.ui-draggable.dropped').length;


For an element with multiple classes join the name of classes using "."(class selector) between them and don't use spaces.