如何用jQuery在<!-- pagebreak -->注释标签后插入<br/><br/>?
解决在
<!-- pagebreak -->注释后插入<br/><br/>的问题 我来帮你搞定这个需求!你的思路方向是对的,但现有jQuery代码存在语法错误和逻辑细节问题,咱们一步步修正:
先说说你的代码里的问题
filter方法的回调函数后面少了一个闭合的),这会直接导致语法报错;.each()没有传入处理逻辑,而且链式调用的顺序需要调整,得先精准筛选出目标注释节点,再执行插入操作;- 没有对注释内容做精准匹配,容易误处理其他注释节点。
正确的实现代码
$(".tab-content") .contents() .filter(function() { // 筛选出类型为注释,且内容是pagebreak的节点(去除前后空格避免匹配偏差) return this.nodeType === 8 && $.trim(this.nodeValue) === "pagebreak"; }) .each(function() { // 在每个匹配的注释节点后方插入换行 $(this).after("<br/><br/>"); });
代码解释
.contents():获取.tab-content下的所有子节点,包括文本、注释这类常规选择器不会获取的节点;.filter():先通过nodeType === 8锁定注释节点,再用$.trim(this.nodeValue)去除注释内容的前后空格,确保只匹配内容为pagebreak的注释;.each():遍历每个符合条件的注释节点,调用.after()在节点后方插入需要的<br/><br/>。
这样运行后,你的HTML里每个<!-- pagebreak -->注释后面都会正确添加两个换行啦!
内容的提问来源于stack exchange,提问作者bigdave
相关产品推荐
相关产品推荐

