Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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未选择所有div标记_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery未选择所有div标记

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的注释是一个非

当我运行这段代码时,只有第一个div被选中,只有第二个p标记(“包含“问候语”)为空,但其他两个div中的其他第二个p标记不受影响。我希望所有三个div都受到影响,以便所有第二个p标记(“包含“问候语”)为空

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)