Javascript jQuery未选择所有div标记
当我运行这段代码时,只有第一个div被选中,只有第二个p标记(“包含“问候语”)为空,但其他两个div中的其他第二个p标记不受影响。我希望所有三个div都受到影响,以便所有第二个p标记(“包含“问候语”)为空Javascript jQuery未选择所有div标记,javascript,jquery,html,Javascript,Jquery,Html,当我运行这段代码时,只有第一个div被选中,只有第二个p标记(“包含“问候语”)为空,但其他两个div中的其他第二个p标记不受影响。我希望所有三个div都受到影响,以便所有第二个p标记(“包含“问候语”)为空 var e=$('div').children(); e、 等式(1).空() jQuery效果 div{ 宽度:200px; 高度:200px; 背景:水鸭; 浮动:左; 利润率:20px; } 点击我 你好 问候 再见 你好 问候 再见 你好 问候 再见 @Xufox的注释是一个非
var e=$('div').children();
e、 等式(1).空()代码>
jQuery效果
div{
宽度:200px;
高度:200px;
背景:水鸭;
浮动:左;
利润率:20px;
}
点击我
你好
问候
再见
你好
问候
再见
你好
问候
再见
@Xufox的注释是一个非常好的简短解决方案(使用$('div>p:nth child(2)')。空();
链接到底部的nth
),但是如果您想要更详细的注释:
要选择每个div
的第二个p
,并将其清空
您可以在div
s中循环,并使用nth
选择第二个p
试试这个:
$('div').each(function(ndx,elem){
$(elem).children('p:nth(1)').empty();
});
小提琴:
:nth子(n)选择器匹配第n个元素
其父级的子级,无论其类型如何
第n个选择器:
。每个
函数都可以用于无缝地迭代对象和对象
数组
jQuery。每个:
我希望这会有所帮助。做一个“每个”并获取所有值以更好地工作不是更好吗?
例如:
问题不在于下面的代码
var e = $('div').children();
它选择了所有三个div和三个子div,因此当您选择console.log(e)时,您将得到所有9个p标记(每个div有3个)。问题在于
e.eq(1)
执行此操作时,您只需从所有九个p标记中选择第二个p标记。
不要那样,试着用
p:nth-of-type(2)
孩子们喜欢这样。这将仅从所有div中选择第二个p标记
var e=$('div')。children('p:n类型(2)');
e、 空()代码>
jQuery效果
div{
宽度:200px;
高度:200px;
背景:水鸭;
浮动:左;
利润率:20px;
}
点击我
你好
问候
再见
你好
问候
再见
你好
问候
再见
第一行已经选择了所有
及其所有子项<但是,code>.eq
不会产生每个
的第二个子项,而只是所有子项列表中的第二项。您可以尝试使用$('div>p:nth child(2)')。empty()代码>相反。可能是@Xufox的重复。感谢您解释为什么它不起作用,而不仅仅是为我提供解决方案,否则我仍然会感到困惑。:)
p:nth-of-type(2)