Javascript 将前2个后的所有作为目标

Javascript 将前2个后的所有作为目标,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,假设我有这样的东西: Paragraph One <br> <br> Paragraph Two <br> <br> Paragraph Three <br> <br> Paragraph Four <br> <br> Paragraph n <br> <br> 我是否应该使用jQuery选择器来针对从第二段到第n段的所有内容?一旦我确定了如何针对这些段落,我想将它们设置为隐

假设我有这样的东西:

Paragraph One
<br>
<br>
Paragraph Two
<br>
<br>
Paragraph Three
<br>
<br>
Paragraph Four
<br>
<br>
Paragraph n
<br>
<br>
我是否应该使用jQuery选择器来针对从第二段到第n段的所有内容?一旦我确定了如何针对这些段落,我想将它们设置为隐藏


编辑:当我提到上面的段落时,我的意思是说一段文字。当前未使用任何p元素。

您应该将文本标记为

<p>par 1</p> 
<p>par 2</p>
使用现有的标记并没有简单的方法可以通过jQuery实现,至少jQuery没有匹配文本节点的选择器,这正是您试图隐藏的

*如果您特别希望在n处停止,请进行编辑,例如,如果n=7,请使用

$("p:lt(7):gt(0)").hide();

你应该把课文标记为

<p>par 1</p> 
<p>par 2</p>
使用现有的标记并没有简单的方法可以通过jQuery实现,至少jQuery没有匹配文本节点的选择器,这正是您试图隐藏的

*如果您特别希望在n处停止,请进行编辑,例如,如果n=7,请使用

$("p:lt(7):gt(0)").hide();
这就是jquery的功能 该方法设计用于

给定一个表示 一组DOM元素,.slice 方法构造一个新的jQuery对象 从匹配的子集 元素。提供的开始索引 标识其中一个的位置 集合中的元素;如果结局是 省略,此元素之后的所有元素 将包含在结果中

所以

实例:

注意-addClass是为了帮助可视化,隐藏,淡出等等可能就是你想要的

您还可以按如下方式组合:gt和:lt选择器

$'p:lt6:gt3'。添加class'the-class'

或者只是

$'p:gt2.hide

这是jquery 该方法设计用于

给定一个表示 一组DOM元素,.slice 方法构造一个新的jQuery对象 从匹配的子集 元素。提供的开始索引 标识其中一个的位置 集合中的元素;如果结局是 省略,此元素之后的所有元素 将包含在结果中

所以

实例:

注意-addClass是为了帮助可视化,隐藏,淡出等等可能就是你想要的

您还可以按如下方式组合:gt和:lt选择器

$'p:lt6:gt3'。添加class'the-class'

或者只是


$'p:gt2'.hide

您可以使用,:epSelector以索引号为目标

例如,在你的情况下,它可能是这样的

$("br:eq(3)")

您可以使用,:epSelector以索引号为目标

例如,在你的情况下,它可能是这样的

$("br:eq(3)")

当你说段落的时候,你实际上是在使用问题代码中没有显示的p元素吗?好问题。我只是指一段一段的文字。我们目前没有在标记中使用任何p元素。我认为我们可能基于@wheresrhys下面的解决方案。当你说段落时,你实际上是在使用你问题中代码中没有显示的p元素吗?好问题。我只是指一段一段的文字。我们目前没有在标记中使用任何p元素。我想我们可以根据下面@wheresrhys的解决方案,这正是我想要的。谢谢我宁愿现在不必按照上面@wheresrhys的建议更改html的结构。谢谢你的演示。我很高兴这有帮助。这个例子有点像躺着。这个问题与我在你的:gt3:lt19示例中回答的另一个问题非常相似,你的:gt和:lt是错误的。如果:gt是第一个,则从匹配集开始的元素将被删除,因此在:lt下一个运行时,后面的元素将以较低的索引结束。除非更改html,否则上面的代码恐怕也无法工作。给定的JSFIDLE包含多个标记。这里有一个没有它们的例子@James_Allardice不起作用,如果他在做$'p'.gt3.lt19,这是真的,但我认为如果它们是初始选择的一部分,这是不成立的。这正是我想要的。谢谢我宁愿现在不必按照上面@wheresrhys的建议更改html的结构。谢谢你的演示。我很高兴这有帮助。这个例子有点像躺着。这个问题与我在你的:gt3:lt19示例中回答的另一个问题非常相似,你的:gt和:lt是错误的。如果:gt是第一个,则从匹配集开始的元素将被删除,因此在:lt下一个运行时,后面的元素将以较低的索引结束。除非更改html,否则上面的代码恐怕也无法工作。给定的JSFIDLE包含多个标记。这里有一个没有它们的例子@James_Allardice不起作用,如果他在做$'p'.gt3.lt19,那是真的,但我认为如果它们是初始选择的一部分,它就不成立了。是的,我有一种感觉,使用当前的标记将非常困难,但我认为我们保持这种方式。我会检查是否有可能改变它,但我不确定它是否会像在这种情况下改变它一样简单,不幸的是
当然。谢谢你的加价。如果我们决定这样做的话,我会在将来使用它。是的,我有一种感觉,使用当前的标记会非常困难,但我认为我们会保持这种方式。我将检查是否可能更改它,但不幸的是,我不确定它是否会像在这种情况下更改它那样简单。谢谢你的加价。如果我们决定走那条路,我将来会用这个。