2014-07-21 129 views
-1

我有兩個div的我怎樣才能知道root的div一個元素

<div id="69" class="activateUiHTML" data-role="collapsible"> 
    <div class="prd-items-detials"> 
    </div> 
    <div style="" class="Topping-details" id="69"> 
     <section id="topping_tsection_69"> 
     <aside> 
      <h6 class="tdHeading">Quantity  1</h6> 
      <img src="images/arrow-topping.png"> 
      <section class="secclass"><a data-id="69" topping_id="17" id="69_ZZ_0_ZZ_0" topp_name="Honey with Carmel 10 ML" top_cost="30" class="tpActive" qt_val="69_ZZ_0_ZZ_0">Honey with Carmel 10 ML</a></section> 
     </aside> 
     </section> 
    </div> 
</div> 

得到了與類「secclass」部分元素,也正在這個

<div id="addtoordersdiv69"> 
    <div class="prd-items-detials"> 
    </div> 
    <div style="" class="Topping-details" id="69"> 
     <section id="topping_tsection_69"> 
     <aside> 
      <h6 class="tdHeading">Quantity  1</h6> 
      <img src="images/arrow-topping.png"> 
      <section class="secclass"><a data-id="69" topping_id="17" id="69_ZZ_0_ZZ_0" topp_name="Honey with Carmel 10 ML" top_cost="30" class="tpActive" qt_val="69_ZZ_0_ZZ_0">Honey with Carmel 10 ML</a></section> 
     </aside> 
     </section> 
    </div> 
</div> 

我有一個上點擊時聆聽者註冊的部分元素與它的類secclass

我的問題是當點擊部分元素時,我如何知道它是屬於第一個div還是第二個div?

$(document).on("click", ".secclass a", function(e) { 



}); 

我已經嘗試過這種方式

$(document).on("click", ".secclass a", function(e) { 

if($(this).hasClass("activateUiHTML")) 
{ 
    alert('from activehtmlui'); 
} 

else 
{ 
alert('from myorders'); 
} 
    }); 

但它無法正常工作。

+0

您正在使用'ID =「topping_tsection_69」'多次,使用類,而不是 –

回答

1

你可以用class="activateUiHTML"檢查父div的length像下面

$(document).on("click", ".secclass a", function(e) { 

    if($(this).closest(".activateUiHTML").length > 0) 
    { 
    alert('from activehtmlui'); 
    } 
    else 
    { 
    alert('from myorders'); 
    } 
}); 
+0

完美地工作,非常感謝你。 – Pawan

+0

很高興幫助你:) –

0
$(document).on("click", ".secclass a", function(e) { 
    var $divPar = $(this).parents("div"); 
    alert($divPar.attr("id")); 
    }); 

通過分析$ divPa你能找到的結果,你的願望

+0

薩拉特你好這個我從都得到相同的值div的。我可以這樣工作$(this).hasClass(「activateUiHTML」)?? – Pawan

+0

然後在兩個div上放置一個特定的類(如mainDiv)。並將代碼重寫爲 $(document).on(「click」,「.secclass a」,function(e)var $ divPar = $(this).parents(「div.mainDiv」); if ($(this).hasClass(「activateUiHTML」))alert(「1st div」); }); 希望這會爲你工作。對不小心的類型抱歉。祝一切順利。 – sarath

0

您可以使用某物像:

$(document).on("click", ".secclass a", function(e) { 

    console.log($(this).closest('.Topping-details').parent('div').index()); 

}); 

,但我會用一個類來這些div像.module,然後用jQuery like:

$(this).closest('.module').index(); 

在jsfiddle上測試它。

也要小心,因爲您在代碼中使用了兩次id="69"id="topping_tsection_69",並且id應該是唯一的。優選數據屬性,如data-id="69"data-id="topping_tsection_69"

+0

對於第一個div我得到[div#69.activateUiHTML,prevObject:jQuery.fn.jQuery.init [1],上下文:a#69_ZZ_0_ZZ_0,jquery:「1.9.1」,constructor:function,init:function ...] ,我可以從這裏提取activateUiHTML嗎? – Pawan

+0

你還想要父div的索引嗎?現在你擁有了它。你檢查過你的控制檯嗎?我的代碼相應地返回索引0或1。 –

相關問題