2016-03-21 20 views
-2

aşağıdaki yapıya sahibim.Hedef düğüm, çocuk düğümünden jquery kullanarak

<dl> 
    <dt class="tab">..</dt> 
    <dd class="tab-container">..</dd> 
    <dt class="tab"> 
     <div class="hi">hello</div> 
    </dt> 
    <dd class="tab-container">...</dd> 
    <dt class="tab">...</dt> 
    <dd class="tab-container">...</dd> 
</dl> 

i jquery kullanarak elde edebilirsiniz "Merhaba" div dan bahsederler tıklandığında son dd elemana yeni sınıf eklemek istiyorum.

+0

Şu ana kadar hangi kodu denediniz? – shamsup

+0

stackoverflow, ** mevcut ** kodu ve * giv-me-the-codez * sitesiyle ilgili sorunları çözmek içindir. – cramopy

cevap

1

Geçiş yapmayı öğrenmek için deneyin. Sorunuzu yanıtlayın [çevirilerde yorumlar]

$(this).parents('dl').prev().closest('ul').children('li').eq(-2).addClass('new classs'); 
3

Alakalı dd atası almak için closest() olarak kullanmak ve daha sonra hedefleyebilir son dl:

$('div.hi').on('click', function(){ 
    $(this).closest('dl').children('dd:last-child').addClass('myNewClass'); 
}); 
+0

İkinci son dd nasıl hedeflenir? – user5962477

+0

@ user5962477, negatif indeksli "eq()' yi kullanın: "$ (this) .closest ('dl')., Çocuklar ('dd') .qq (-2)' –

+0

thanks.one daha fazla soru.

etiketi altında olmayan diğer öğeler. – user5962477

1

böyle bir şey istemek gibi geliyor:

$(".hi").click(function() { 
    $(this).closest("dl").find("dd:last-child").addClass("blue"); 
}); 

Örnek: https://jsfiddle.net/z24toqL2/

0

Bir yolu,'i bulana kadar DOM ağacını taşımak için jQuery.parents'u kullanmaktır.öğesi.

$('.hi').on('click', function() { 
    $(this).parents('dl').find('dd:last').addClass('my-new-class'); 
}); 

İşte DOM ağacı geçişi için jQuery API documentation category var - bunu yapmak için birden fazla yolu var.

1

Merhabalar :) Ebeveyn() veya ebeveynleri() - documentation for parents() kullanabilirsiniz.

Yani, bu deneyin:

$('.hi').on('click', function() { 
    // In that case- parents('dl') - try to catch a dl parent 
    $(this).parents('dl').find('dd:last-of-type').addClass('new-class'); 
}); 

Sen view online here in jsfiddle can.

İlgili konular