2012-07-23 65 views
0

需要一點幫助:我使用的是jquery treeview插件(這一個:http://bassistance.de/jquery-plugins/jquery-plugin-treeview/)。我想突出顯示當前的項目。我做這樣說:jquery treeview只突出顯示當前項目

CSS:

.filetree li .clicked { 
    font-weight: bold; 
} 

和JS代碼:

$('li').live('click', function(event){ 
    event.stopPropagation(); 
    console.log(this.id); 
    $('.clicked').removeClass('clicked'); 
    $(this).addClass('clicked'); 
    return false; 
}); 

一切工作正常,但所有項目都與它的子元素突出在一起,根元素沒有整體突出顯示。

如何才能突出顯示當前項目?提前致謝!

回答

0

好的,正確的做法是:以

$(event.target).addClass('clicked'); 

代替

$(this).addClass('clicked'); 
0

的問題可能是,你是應用bold字體到整個li元素。如果您查看標記,li有一個代表其所有子元素的子代ul

因此,在你的CSS,你應該嘗試只適用bold到具有名稱,而不是整個li節點span

.filetree li.clicked > span { 
    font-weight: bold; 
} 

在這裏看到有關孩子選擇的信息:

http://www.w3.org/TR/CSS2/selector.html#child-selectors