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>
添加回答
舉報