2014-03-25 45 views
2

我試圖在特定div內找到類名爲component ui-draggable dropped的div的數量。獲取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 

但警報總是彈出式爲零。任何人都可以指導我這裏有什麼問題嗎?由於

+2

出了什麼問題'$('DIV [ARIA隱藏= 「假」] .component。 UI-draggable.dropped')'? – canon

回答

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); 
}); 
+0

感謝發佈,並真正感謝您爲此目的而製作的小提琴。 – Jinandra

1

您可以使用.has()

var $div = $('div[aria-hidden="false"]'); 
var clone_nums = $div.has('.component.ui-draggable.dropped').length; 
  • 得到所有的div aria-hidden="false"
  • 然後只過濾那些由具有帶班componentui-draggable當然,你需要的後代和dropped
  • 在目標元素加載到目錄樹後執行腳本
+0

我想你提到的第三點是造成這個問題。儘管目標元素在執行腳本之前被加載,但仍然會彈出警報彈出窗口。你想看看現場的網址? – Jinandra

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. 
相關問題