You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用jQuery选中pagebreak类节点后的所有节点(含文本节点)

解决方法

jQuery的nextAll()方法默认仅匹配元素节点,会忽略文本节点,所以拿不到Sometext这类文本内容。要获取pagebreak之后的所有节点(包括文本、元素),可以按以下步骤处理:

核心思路

获取pagebreak父元素下的所有子节点(包含文本、元素等所有类型),定位pagebreak的位置后,截取它之后的所有节点。

代码实现

// 定位pagebreak元素
var pagebreak = $(currentPagina[0]).find('.pagebreak');
// 获取父元素下的所有子节点(含文本、元素、注释等)
var allSiblings = pagebreak.parent().contents();
// 找到pagebreak在子节点中的索引位置
var breakIndex = allSiblings.index(pagebreak);
// 截取pagebreak之后的所有节点
var nextContent = allSiblings.slice(breakIndex + 1);

可选:过滤空白文本节点

如果需要去掉换行、空格这类无意义的空白文本节点,可以添加过滤逻辑:

var nextContent = allSiblings.slice(breakIndex + 1).filter(function() {
    // 保留非文本节点,或非空白的文本节点
    return this.nodeType !== 3 || $.trim(this.nodeValue) !== '';
});

内容的提问来源于stack exchange,提问作者Jeff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 04:50:26