Javascript 如何在jquery中获取列表项最顶端父项的文本?
我有以下设计的Javascript 如何在jquery中获取列表项最顶端父项的文本?,javascript,jquery,Javascript,Jquery,我有以下设计的ul列表 <ul> <li class="category"> Design <ul> <li>Graphic Design</li> <li>Web Design </li> <li>HTML</li> <li>CSS</
ul列表
<ul>
<li class="category">
Design
<ul>
<li>Graphic Design</li>
<li>Web Design </li>
<li>HTML</li>
<li>CSS</li>
<li>Print</li>
</ul>
</li>
<li class="category">
Development
<ul>
<li>PHP</li>
<li>Java</li>
</ul>
</li>
</ul>
尝试更换此部件
$(this).parents(".category").text()
与
childNodes返回包括文本节点在内的所有子元素
如果只想使用jQuery,则将此textnode包装在一个范围内
<ul>
<li class="category">
<span>Design</span>
<ul>
<li>Graphic Design</li>
<li>Web Design </li>
<li>HTML</li>
<li>CSS</li>
<li>Print</li>
</ul>
</li>
<li class="category">
<span>Development</span>
<ul>
<li>PHP</li>
<li>Java</li>
</ul>
</li>
</ul>
另一种方法是使用jquery的内容
和过滤器
$(this).parents(".category").contents().filter(function() {
return this.nodeType == 3;
}).nodeValue;
尝试更换此部件
$(this).parents(".category").text()
与
childNodes返回包括文本节点在内的所有子元素
如果只想使用jQuery,则将此textnode包装在一个范围内
<ul>
<li class="category">
<span>Design</span>
<ul>
<li>Graphic Design</li>
<li>Web Design </li>
<li>HTML</li>
<li>CSS</li>
<li>Print</li>
</ul>
</li>
<li class="category">
<span>Development</span>
<ul>
<li>PHP</li>
<li>Java</li>
</ul>
</li>
</ul>
另一种方法是使用jquery的内容
和过滤器
$(this).parents(".category").contents().filter(function() {
return this.nodeType == 3;
}).nodeValue;
只要改变一下:
console.log("Child Clicked: "+$(this).text()+" Parent: "+$(this).parents(".category").text());
与:
console.log("Child Clicked: "+$(this).text()+" Parent: "+$(this).parent().text());
只要改变一下:
console.log("Child Clicked: "+$(this).text()+" Parent: "+$(this).parents(".category").text());
与:
console.log("Child Clicked: "+$(this).text()+" Parent: "+$(this).parent().text());
它返回当前单击项目的完整列表。然后您可以选择第一个,例如:$(this)。parent()[0]实际上我想要的父项目不在列表中,它只给我兄弟项目列表。它返回当前单击项目的完整列表。然后您可以选择第一个,例如:$(this)。parent()[0]实际上,我想要的父项不在列表中,它只是给了我兄弟项列表。这很有效,谢谢你,但我一定要使用jquery,我们是否可以用jquery完成它?@BillalHussan不确定jquery是否提供了足够的资源来使用jquery。事实上,您应该更改标记以将该文本包含在span或其他元素中。
。可以使用filter()
。使用span可能会有所帮助。谢谢大家我工作了谢谢,但是我一定要使用jquery,我们是否可以用jquery来完成它?@BilalHussan不确定jquery是否提供了足够的资源来使用jquery。事实上,您应该更改标记以将该文本包含在span或其他元素中。。可以使用filter()
。使用span可能会有所帮助。谢谢大家