Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取特定元素后的文本(JavaScript或JQuery)_Javascript_Jquery - Fatal编程技术网

获取特定元素后的文本(JavaScript或JQuery)

获取特定元素后的文本(JavaScript或JQuery),javascript,jquery,Javascript,Jquery,谁能给我一些指导,告诉我什么是最好的方法 我正在尝试获取“.main”后面的所有文本 我知道这可能很简单,但就在圣诞节前一整天,我的脑子都在紧张。所以我想,与其让自己紧张,不如寻求一些指导 示例代码仅返回p标记中的文本,但我想返回不在其自身元素中的文本和p标记 console.log($(“#容器”).find(“.main”).next().text() 主低音 文本不在它自己的元素中 p标记中的文本 实现这一点的最简单方法是克隆()容器,从中删除.main元素,然后获取文本(),如下所示

谁能给我一些指导,告诉我什么是最好的方法

我正在尝试获取“.main”后面的所有文本

我知道这可能很简单,但就在圣诞节前一整天,我的脑子都在紧张。所以我想,与其让自己紧张,不如寻求一些指导

示例代码仅返回p标记中的
文本,但我想返回不在其自身元素中的
文本
p标记

console.log($(“#容器”).find(“.main”).next().text()

主低音
文本不在它自己的元素中
p标记中的文本


实现这一点的最简单方法是
克隆()
容器,从中删除
.main
元素,然后获取
文本()
,如下所示:

var text=$(“#容器”).clone().find('.main').remove().end().text();
console.log(text.trim())

主低音
文本不在它自己的元素中
p标记中的文本


这是因为不在其自身元素中的
文本被视为节点,因此
next()
将以

标记为目标,因为它是一个节点。如果要使用本机,则需要使用两种节点类型的组合,这两种节点类型是不可知的,并且正如其方法名称所示,它会获取下一个同级元素

const main=document.querySelector('.main');
常量txt=[
main.nextSibling.textContent.trim(),
main.nextElementSibling.textContent.trim()
];
console.log(txt)

主低音
文本不在它自己的元素中
p标记中的文本


在这种情况下DOM是不可变的吗?尝试
nextSibling
在元素后添加文本,而不是
nextElementSibling
。你真该死,比我快了。'You genius Rory!:)谢谢你帮助我。就在圣诞节前,我把自己弄得筋疲力尽。这是一个很好的解决方案,但请注意,当您以前在container div中有内容时,main也会显示出来@卡尔·爱德华兹的答案没有这个constraint@Archer在这种情况下,您需要在选择
main
后使用
prevAll()
,并将其删除。@bananasplitter true,但该解决方案只要求有以下两个元素。这将适用于无限多的以下同级元素或节点。这两种方法都可以,这取决于你的具体情况。你为什么要使用
const
?这是现在不喜欢
var
的新时尚吗?当使用
var
时,您会面临意外提升和/或重新分配的风险。除此之外,Javascript变量是动态类型化的,这也可能导致意外行为。如果适用,最好使用
const
。不讨厌
var
。只是让代码至少保持可预测性的问题。@CarlEdwards然后如何调整此选项以删除文本?@ChrisBeckett您指的是什么文本?@CarlEdwards
文本不在其自身元素中p标记中的文本