2011-03-25 41 views
1
被刪除

question回答了什麼是我想要的,只是做第一次加載頁面時,我不能得到的第一個元素的結果,把它移除時的部分第二個元素被點擊。做出的第一個元素風格的時候下一個元素被點擊

<li><a href="#">first element</a></li> 
<li><a href="#">second element</a></li> 
<li><a href="#">third element</a></li> 
li a { 
    border: 1px solid blue 
} 
.selected { 
    border-color: red 
} 

當第一次加載頁面,第一個元素是不是點擊,我想讓它顯示紅色的邊框顏色(選擇),但被點擊第二元素時,紅色應該是換成藍色。

回答

2

只需添加:

$(function() { 
    var $lia = $('li').find('a'); 

    $lia.click(function(e) { 
    $lia.removeClass('selected'); 
    $(this).addClass('selected'); 
    }); 

    $lia.first().addClass('selected'); 
}); 

Here's an example!

1

HTML:

<ul class="options"> 
<li class="selected"><a href="#">first element</a></li> 
<li><a href="#">second element</a></li> 
<li><a href="#">third element</a></li> 
</ul>  

的JavaScript:

$(function() { 
     $('ul.options').delegate('li a', 'click', function() { 
      $('li.selected').removeClass('selected'); 
      $(this).addClass('selected'); 
     }); 
    }); 

你並不需要將類添加到他第一要素w^ith JavaScript它在頁面加載時總是在那裏,並且如果動態添加新的li,這也將起作用。

+0

謝謝!這種方法的作品也看起來更優雅,但它需要我動態地爲PHP腳本中的第一個元素添加一個獨特的類。很高興知道我可以如何使用.delegate! – alsd 2011-03-25 22:33:25

相關問題