如何查找和删除html文件中的特定文本?
我已经找到了一个代码,但是如果在HTML文件中有像“/”或“()”这样的chark,我觉得它不起作用。
我的HTML代码
<label>Text 1 (Blue/White/Green)</label>
我的剧本
$("label").children().each(function() {
$(this).html($(this).html().replace(/'(Blue/White/Green)'/g,""));
});
答案 0 :(得分:1)
你只需要在正则表达式中转义斜杠(和parens),以及删除撇号。其次,您正在寻找不存在的孩子,因为文本不在子节点内,而是标签节点的内容,因此删除.children()
过滤器将使其工作:
$("label").each(function() {
$(this).html($(this).html().replace(/\(Blue\/White\/Green\)/g,""));
});
如果您对使用正则表达式不感兴趣,您也可以使用替换方法替换字符串,但是如上所述,这只会替换第一个实例:
$("label").each(function() {
$(this).html($(this).html().replace('(Blue/White/Green)',""));
});
答案 1 :(得分:0)
您应该删除children()
。你需要迭代标签元素。不是在孩子身上
$("label").each(function() {
$(this).html($(this).html().replace(/\(Blue\/White\/Green\)/g,""));
});
这应该有效
答案 2 :(得分:0)
您必须使用反斜杠/
转义斜杠()
和括号\
,您还应删除单引号'
和.children()
:
$("label").each(function() {
$(this).html($(this).html().replace(/\(Blue\/White\/Green\)/g,""));
});
希望这有帮助。
工作代码段
$("label").each(function() {
$(this).html($(this).html().replace(/\(Blue\/White\/Green\)/g,""));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>Text 1 (Blue/White/Green)</label>
答案 3 :(得分:0)
你走了!
{{1}}
答案 4 :(得分:0)
$(":contains('text-to-remove')").contents().filter(function () {
return (this.nodeType == 3 && $.trim(this.nodeValue) == 'text-to-remove');
}).remove();
来自其他海报