Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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_Jquery Selectors - Fatal编程技术网

Javascript jquery选择具有类的父级的具有类的第一个子级

Javascript jquery选择具有类的父级的具有类的第一个子级,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,为了clone(),如何仅选择具有特定类的父级的特定类的第一个子级 并使用类line\u item\u wrapper获取两个内部div,但在尝试此添加时得到一个空对象: children('.line_item_wrapper :first') 谢谢 试试这个: var $firstDiv = $(".sector_order > .line_item_wrapper:eq(0)"); 这将获得带有类行项目包装器的扇区顺序的第一个直接后代 您正在将无效选择器传递给子对象()。 而不是

为了
clone()
,如何仅选择具有特定类的父级的特定类的第一个子级

并使用类
line\u item\u wrapper
获取两个内部div,但在尝试此添加时得到一个空对象:

children('.line_item_wrapper :first')
谢谢

试试这个:

var $firstDiv = $(".sector_order > .line_item_wrapper:eq(0)");
这将获得带有类
行项目包装器的
扇区顺序
的第一个直接后代


您正在将无效选择器传递给
子对象()
。 而不是

.children('.line_item_wrapper :first')
试一试


使用
:第一个孩子

var form1 = $(this).closest('.sector_order').find(':first-child');
.first()


您的问题在于您的选择器在以下几个方面是错误的:

parents()
返回与传递给方法的选择器匹配的一个、两个或多个元素;要将自己限制为第一个匹配的元素,请使用
closest()
(返回一个或不返回与传入选择器匹配的元素)

第一次使用
children()
方法将返回这两个元素,因为它们都与提供的选择器匹配,并且具有
line\u item\u wrapper
类;您需要明确说明您想要哪一个,您可以使用
:first
选择器(或
first()
方法),或
:first child
选择器

children()
方法的第二次调用将查找与选择器匹配的第一个元素的子元素,而您似乎不需要这些子元素

无论如何,如果必须使用父元素(从相同的
$(this)
元素开始):

或:

或:

或者,坦率地说,一种更简单的方法(但这确实省去了父类名称检查):

或:

参考资料:


这非常有用。非常感谢您花时间解释这一点。
.children('.line_item_wrapper :first')
.children('.line_item_wrapper').first()
var form1 = $(this).closest('.sector_order').find(':first-child');
var form1 = $(this).closest('.sector_order').find('.line_item_wrapper').first();
var form1 = $(this).closest('.sector_order').find('.line_item_wrapper:first').clone(true);
var form1 = $(this).closest('.sector_order').find('.line_item_wrapper').first().clone(true);
var form1 = $(this).closest('.sector_order').find('.line_item_wrapper:first-child').clone(true);
var form1 = $(this).prevAll('.line_item_wrapper:last');
var form1 = $(this).siblings('.line_item_wrapper').eq(0);