v2.5.2
Giriş yap

Alt Değerlere Göre Üst Değere CSS Atama

tatarkursad
424 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Merhaba arkadaşlar, bir menü yapısı üzerinde çalışıyorum yapım klasik ul > li a > ul > li a ... şeklinde eğer alt menü varsa aynı şekilde ul > li atıyorum.
Tam olarak burada eğer li içinde ul varsa o li a ya .altvar şeklinde bir css atamak istiyorum. Bunu Jquery ile nasıl yapabilirim ?

Örnek;

<ul>
    <li><a href="#">Ana Menü 1</a></li>
    <li><a href="#" class="altvar">Ana Menü 2</a>
        <ul>
          <li><a href="#">Alt Menü 1</a></li>
          <li><a href="#">Alt Menü 2</a></li>
          <li><a href="#">Alt Menü 3</a>
          <li><a href="#" class="altvar">Ana Menü 2</a>
            <ul>
              <li><a href="#">Alt Alt Menü</a></li>
            </ul>
          </li>
        </ul>
    </li>
    <li><a href="#">Ana Menü 3</a></li>
</ul>
Cevap yaz
Cevaplar (2)
tayfunerbilen
1145 gün önce

Evet yapabilirsin, en basit şekilde şöyle

$('li').each(function(){
	if ($('>ul', this).length){
		$('>a', this).addClass('altvar');
	}
});
tatarkursad
933 gün önce

@tayfunerbilen hocam bu konuda bir yerde yine takıldım.

li içindeki a ya class atadık peki aynı classı li ye nasıl atabilirim yani döngüyü başlatan li'ye.
Deneme yanılma yapsamda bir türlü liye atayamadım.

[ÇÖZDÜM]
Şimdi çözdüm hocam if içinden a yı kaldırınca direk liye etki etti.

$('li').each(function(){
	if ($('>ul', this).length){
		$(this).addClass('altvar');
	}
});