0

需要一点帮助:我正在使用 jquery treeview 插件(这个: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具有span名称的节点,而不是整个li节点:

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

有关子选择器的信息,请参见此处:

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

于 2012-07-26T03:54:30.480 回答