gpt4 book ai didi

javascript - 通过使用 javascript/jquery 识别正确的文本节点,从列表中删除 >

转载 作者:行者123 更新时间:2023-12-02 19:58:17 27 4
gpt4 key购买 nike

今天下午我问了一个有点类似的问题,然后意识到答案是我的问题不正确......

鉴于以下情况:

<p class="p"> 
<div> </div>
<div>
<a href="foo"> a </a> &gt;
<a href="foo1"> b </a>
<a href="foo2"> c</a>
<a href="foo3"> b </a> &gt;
<a href="foo4"> c </a>
</div>
</p>

我需要从页面中删除“>”`以及它前面的a标签。这是一个动态列表,因此它会随着时间的推移而不断增长。我需要有人捕获“>”删除它,然后删除它前面的a标签。

有什么建议吗?

最佳答案

您的标记无效。 <div>元素将从 <p> 中被踢出.

更正标记后,您可以执行以下操作:

var els = $('.p');

do {
els.contents().each(function(i,el) {
if( el.nodeType === 3 && $.trim( el.data ) === '>' ) {
el.parentNode.removeChild(el.previousSibling);
el.parentNode.removeChild(el);
}
});
} while( ( els = els.children() ).length )

<强> JSFIDDLE DEMO

<小时/>

或者使用更多 jQuery:

var els = $('.p');

do {
els.contents().each(function(i,el) {
if( el.nodeType === 3 && $.trim( el.data ) === '>' ) {
$(el.previousSibling).remove();
$(el).remove();
}
});
} while( ( els = els.children() ).length )

<强> JSFIDDLE DEMO

<小时/>

或者这个:

var els = $('.p');

do {
els.contents().each(function(i,el) {
if( el.nodeType === 3 && $.trim( el.data ) === '>' ) {
$(el.previousSibling).add(el).remove();
}
});
} while( ( els = els.children() ).length )

<强> JSFIDDLE DEMO

关于javascript - 通过使用 javascript/jquery 识别正确的文本节点,从列表中删除 >,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8351096/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com