簡體   English   中英

如何使用jQuery / javascript在br之后刪除div中的文本字符串?

[英]How do I remove a string of text inside a div after a br with jquery/javascript?

我一直在嘗試刪除每個div中<br>之后出現的可變生產定價(從生成的列表中)。 這里是:

<div class="p-name">
    <a href="somelink.html" class="TLink">Product Name<br>$1.91</a>
</div>
<div class="p-name">
    <a href="somelink2.html" class="TLink">Product Name2<br>$55.91</a>
</div>

我努力了:

$('.p-name').nextAll('br').remove();

$(".p-name").nextAll().remove();

價格范圍從$ 0.00到$ 40,000.00

有什么幫助嗎? 我應該改用Javascript嗎?

每個錨標記具有三個子節點:text + br + text。

要刪除br + tx,您可以執行以下操作:

 $('.p-name').find('a').each(function(index, element) { element.childNodes[1].remove(); element.childNodes[1].remove(); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="p-name"> <a href="somelink.html" class="TLink">Product Name<br>$1.91</a> </div> <div class="p-name"> <a href="somelink2.html" class="TLink">Product Name2<br>$55.91</a> </div> 

另一種選擇是使用substr重設每個a的內容

 $(".p-name a").each(function() { var content = $(this).html(); $(this).html(content.substr(0,content.indexOf('<br>'))); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="p-name"> <a href="somelink.html" class="TLink">Product Name<br>$1.91</a> </div> <div class="p-name"> <a href="somelink2.html" class="TLink">Product Name2<br>$55.91</a> </div> 

您可以將<br>元素作為目標,然后將其后的任何同級作為目標,然后將其全部刪除,這樣就不會計算出textnode,這可能是不可靠的

 $('.TLink br').each(function(_, el) { var els = []; while (el = el.nextSibling) els.push(el); $(els).remove(); }).remove(); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="p-name"> <a href="somelink.html" class="TLink">Product Name<br>$1.91</a> </div> <div class="p-name"> <a href="somelink2.html" class="TLink">Product Name2<br>$55.91</a> </div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM