4 回答
TA贡献1797条经验 获得超4个赞
据我了解,您想要的文本li
没有 的文本span
。所以你可以像这样使用replace
函数来做到这一点:
console.log($('#accordionItem li').text().replace($('#accordionItem li span').text(), ''));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="accordionItem" class="filter_middle-stage2-list_wrapper">
<li style="font-weight: bold;">Pens<span>(1200)</span></li>
</div>
如果你想要一个更通用的解决方案,它只会让你得到没有它的任何孩子的文本,li那将是一个更好的解决方案:
console.log($('#accordionItem li').contents().get(0).nodeValue);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="accordionItem" class="filter_middle-stage2-list_wrapper">
<li style="font-weight: bold;">Pens<span>(1200)</span></li>
</div>
TA贡献1795条经验 获得超7个赞
不需要 jQuery。 由于您有一个带有 ID 的元素,您可以直接访问它,并获取节点的文本并简单地删除任何非数字字符,您将得到您想要的数字值。
这种方法的好处是与 DOM 结构无关——它总是适用于该元素(具有该 ID),但可以应用于任何元素,<li>
无论它是否有<span>
子元素(或任何其他子元素)
console.log(
accordionItem.children[0].firstChild.textContent
)
<div id="accordionItem" class="filter_middle-stage2-list_wrapper">
<li style="font-weight: bold;">Pens<span>(1200)</span></li>
</div>
添加回答
举报