我想删除/隐藏在我的页面上加载的一段文字。
该元素没有与之关联的ID,因此我想使用特定于文本的方法。
让我们说文字是:"删除这一行文字"。
html看起来像这样:
<div class="aClassName">
<p>
<strong>remove this line of text</strong>
... the rest of the content.
</p>
我尝试了以下内容:
jQuery(document).ready(function($){
document.body.innerHTML = document.body.innerHTML.replace('remove this line of text', '');
});
没有工作。所以我尝试了这个:
jQuery(document).ready(function($){
$("body").children().each(function () {
$(this).html( $(this).html().replace(/remove this line of text/g,"") );
});
});
没有工作。这个想法是在页面加载后删除该行。
它也不会产生任何错误。甚至没有在萤火虫中。
任何?
答案 0 :(得分:2)
基于内容的目标元素
您可以使用jQuery中的:contains()
伪选择器来完成此操作,这将允许您根据其内容定位某些元素:
$(function(){
// This will remove any strong elements that contain "remove this line of text"
$('strong:contains("remove this line of text")').remove();
});
你可以see a working example of this here。
更广泛的方法(仅针对基于选择器的元素)
如果您希望更简单地通过更通用的选择器(即显示在名为<strong>
的类下方的任何aClassName
标记来定位它:
$('.aClassName strong').remove();
答案 1 :(得分:0)
$('.aClassName').find('strong').text("123");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="aClassName">
<p>
<strong>remove this line of text</strong>
... the rest of the content.
</p>
或者简单地说:
$('strong:contains("remove this line of text")').text("New text");
<强>更新强>
在分析评论中提供的链接后,您可以使用以下内容:
$('.payment_method_mollie_wc_gateway_ideal').find('strong').text("");