如何移除包含空HTML标签的空标题标签?
解决方法
原来的h1:empty这类选择器只能匹配**完全没有任何子节点(包括文本和空标签)**的标题,所以像<h2><strong></strong></h2>这种包含空嵌套标签的标题不会被识别。你可以用jQuery的filter()方法筛选出实际没有有效文本内容的标题,修改后的脚本如下:
$("h1, h2, h3, h4, h5, h6").filter(function() { // 去除标题文本的前后空白后,判断是否为空 return $.trim($(this).text()) === ""; }).replaceWith('');
说明:
- 先选中所有h1到h6标签,再通过
filter()逐个检查每个标题的内容 $.trim($(this).text())会提取标题的所有文本内容(自动忽略嵌套标签),并去掉前后空白字符- 如果处理后的文本为空,说明这个标题没有有效可读内容,就会被移除
这个方案不仅能处理包含空嵌套标签的标题,还能移除那些只有空白字符的标题(比如<h3> </h3>),覆盖的场景比原脚本更全面。
内容的提问来源于stack exchange,提问作者user2953989
相关产品推荐
相关产品推荐

