通过 JavaScript 或 jQuery 删除其中包含不间断 space 的 P 标签
Remove P tag with non-breaking space inside of it via JavaScript or jQuery
所以我从我们的内容发布者正在使用的 API 收到了不干净的内容,我得到了 P 标签,里面有不间断的 spaces,我想删除不-破坏 space 和它所在的 P。如果他们在将内容发布到 API 之前清理他们的内容会很好,但我只需要一种快速的方法来通过 [=19 删除它=] 或 jQuery。使用下面的代码时出现此错误。 "Syntax error, unrecognized expression: "感谢您的帮助。
<p> </p>
$("p").each(function() {
$(this).find(' ').remove();
});
Select 您的段落元素,使用 .filter()
过滤掉仅包含
的元素,然后使用 .remove()
:
$('p').filter(function(){
return this.innerHTML == ' ';
}).remove();
或者:
$('p').filter(function(){
return !$.trim($(this).text());
}).remove();
其中,因为 .text()
为您处理 HTML 解码并且 $.trim()
删除外部空格,将删除仅包含空格的任何段落 I.E
<p> </p>
$(p).each(function(){
$(this).html($(this).html().replace(" ", ""));
$(this).replaceTagName('');
// or $(this).contents().unwrap(); much faster
});
这个有效:
$('p').filter(function () {
return $(this).html().replace(/ /g, '').length === 0
}).remove()
虽然你说 "I want to remove the non-breaking space and the P it is in",但你只需要删除 P,因为那样会带走
。
所以我从我们的内容发布者正在使用的 API 收到了不干净的内容,我得到了 P 标签,里面有不间断的 spaces,我想删除不-破坏 space 和它所在的 P。如果他们在将内容发布到 API 之前清理他们的内容会很好,但我只需要一种快速的方法来通过 [=19 删除它=] 或 jQuery。使用下面的代码时出现此错误。 "Syntax error, unrecognized expression: "感谢您的帮助。
<p> </p>
$("p").each(function() {
$(this).find(' ').remove();
});
Select 您的段落元素,使用 .filter()
过滤掉仅包含
的元素,然后使用 .remove()
:
$('p').filter(function(){
return this.innerHTML == ' ';
}).remove();
或者:
$('p').filter(function(){
return !$.trim($(this).text());
}).remove();
其中,因为 .text()
为您处理 HTML 解码并且 $.trim()
删除外部空格,将删除仅包含空格的任何段落 I.E
<p> </p>
$(p).each(function(){
$(this).html($(this).html().replace(" ", ""));
$(this).replaceTagName('');
// or $(this).contents().unwrap(); much faster
});
这个有效:
$('p').filter(function () {
return $(this).html().replace(/ /g, '').length === 0
}).remove()
虽然你说 "I want to remove the non-breaking space and the P it is in",但你只需要删除 P,因为那样会带走
。