我试图建立一个可折叠的层次结构。我试图在其中突出显示用户正在扩展的地方。我试图将font-weight属性设置为BOLD以突出显示。但这也突出了所有孩子。
<ul>
<li id="A">A
<ul>
<li id="A_1">1</li>
<li id="A_2">2
<ul>
<li id="A_2_2.1">2.1</li>
<li id="A_2_2.2">2.2</li>
</ul>
</li>
</ul>
</li>
</ul>
如果用户选择A> 2> 2.2,这是在尝试做的事情。我将突出显示3个li节点的textnode。
$('li').on('click', function (event) {
event.preventDefault();
$('ul:first',event.target).toggle("slow");
document.getElementById($(event.target).attr("id")).setAttribute("style","font-weight:bold");
event.stopPropagation();
});
这里的问题是当我在上面的代码上运行时,它突出显示了所有列表,而不仅仅是textnode。
最终应该看起来像
**A**
1
**2**
2.1
**2.2**
最佳答案
子元素将默认为font-weight: inherit
。
如果您不希望他们从其父元素继承值,则必须将值显式设置为其他值。
或者,将要设置样式的文本节点包装在另一个元素(例如,跨度)中,然后将其设置为粗体。