2014-07-21 4 views
-1

я попал раздел элемент с классом «secclass» в два сНу игроваяКак я могу знать корневой 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> 

А также под этим

<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

Вы можете проверить length родительского DIV с class="activateUiHTML", как показано ниже

$(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

Привет Sarath с этим я получаю такое же значение, как из дивы. Могу ли я работать таким образом $ (this) .hasClass ("activateUiHTML") ?? – Pawan

+0

затем поместите класс specialisc (как mainDiv) в оба div. И перепишите код как $ (document) .on ("click", ".secclass a", function (e) { var $ divPar = $ (this) .parents ("div.mainDiv"); if ($ (this) .hasClass ("activateUiHTML")) alert ("1-й div"); }); Надеюсь, что это сработает для вас сейчас. Извините за неосторожные тиски. Всего наилучшего. – sarath

0

Вы можете использовать STH, как:

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

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

}); 

, но я хотел бы использовать класс для тех дивы, как .module, а затем использовать JQuery, как:

$(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", конструктор: function, init: function ...] , могу ли я извлечь activUiHTML из этого? – Pawan

+0

Вы все еще хотите индекс родительских div? Теперь у вас это есть. Вы проверили консоль? Мой код возвращает свой индекс, например, 0 или 1. –

Смежные вопросы