我希望在html中存在某些措辞时执行操作以删除最近的表。
我不能假设span类存在,因为html是从其他方面检索的,他们可以通过添加,随时删除任何类来改变它。
需要在页面加载时完成,而不是在单击class / id事件内部时。
有点挑战。知道如何实现这个目标吗?
在页面加载时,
jquery检测页面中是否存在“Hello how are you。”
If exist
remove the whole td or tr or table for this particular.
else
do nothing.
end
代码如下:
function replaceText()
{
var debug;
debug= "";
$("*").each(function() {
if($(this).children().length==0)
{
// $(this).text($(this).text().replace('Hello how are you', 'yohoo'));
debug= debug + $(this).val() + "<br>";
if($(this).val()=="Hello how are you")
{
$(this).closest('table').remove();
}
}
});
//alert(debug);
}
<div>
<table>
<tr>
<td colspan="2">
<div>
<table>
<tr>
<td ><span class="myclass">Hello how are you</span></td>
<td><a href="testing.php"></a></td>
</tr>
</table>
</div>
</td>
</tr>
<tr colspan="2">
<table>
<tr>
<td><b>want to remove this</b></td>
</tr>
</table>
</tr>
<tr>
<td>other content 1</td>
<td>other content 2</td>
</tr>
</table>
</div>
答案 0 :(得分:0)
您可以使用:contains
检查文字是否存在:
$(":contains('Hello how are you')").each(function(n){
if ($(this).children().length == 0){
$(this).closest('table').remove();
}
});
此代码将遍历包含文本'Hello how are you'的所有元素。如果您想要完全匹配,还可以检查$(this).text() == 'Hello how are you'
。一旦找到这些元素,它会检查它们没有任何子节点,然后在它们通过该条件时删除最近的表。
要在页面加载时运行此代码,请将其包装在document.ready
函数中:
$(document).ready(function(){
...
});