2014-04-28 99 views
0
<a class="menuactive" href="/news">News</a> 
<span id="menu00" style="display:block;"> 

我需要一種方法來檢測鏈接後是否存在跨度。如果有,然後將一個類分配給a。例如:如何檢測鏈接後的元素是否是範圍

<a class="menuactive" href="/news">News</a> 

將成爲

<a class="menuactive hasSpan" href="/news">News</a> 

回答

2
var menuItem = $('.menuactive'); 
menuItem.next().is('span') && menuItem.addClass('hasSpan'); 
+0

這個偉大的工程謝謝! – Jayrawk

0

有兩種選擇:

// selects the .menuactive elements, uses addClass: 
$('.menuactive').addClass(function(a,b){ 
    // if the next-sibling is a span, then returns the 'hasSpan' class to add 
    // otherwise returns an empty string (effectively adding no class): 
    return $(this).next('span').length > 0 ? 'hasSpan' : ''; 
}); 

JS Fiddle demo

或者:

// selects the span element(s) that immediately follow an a element, 
// then moves back to that a element and adds the class: 
$('a.menuactive + span').prev('a').addClass('hasSpan'); 

JS Fiddle demo

參考文獻: