0

少し助けが必要です:私はjqueryツリービュープラグインを使用しています(これはhttp://bassistance.de/jquery-plugins/jquery-plugin-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;
});

すべてが正常に機能しますが、すべてのアイテムがその子要素とともに強調表示され、ルート要素は全体として強調表示されません。

現在のアイテムのみを強調表示するにはどうすればよいですか?前もって感謝します!

4

2 に答える 2

0

わかりました、正しい方法は次のとおりです。

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

それ以外の

 $(this).addClass('clicked');
于 2012-07-25T11:21:42.810 に答える
0

問題はおそらく、要素bold全体にフォントを適用していることです。liマークアップを見ると、にはすべての子要素を表すli子があります。ul

したがって、cssでは、ノード全体ではなく、名前を持つにのみを適用するboldようにしてください。spanli

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

子セレクターについては、こちらを参照してください。

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

于 2012-07-26T03:54:30.480 に答える