Jquery开始自我搜索

我目前正在使用以下内容:

var element = $('#Adiv').find('[name="thename"]'); 

这将在Adiv中搜索名称为“thename”的元素。 但Adiv也可能有’thename’这个名字,所以首先应该看看它自己的名字。 我该怎么做呢? 我尝试了andSelf() ,但即使它没有正确的名称,它也包含整个元素。

你可以这样做:

 var element = $('#Adiv').parent().find('[name="thename"]'); 

这可能是一个选项,因为ID是唯一的:

 $('#Adiv').find('*[name="thename"]').add($('#Adiv[name="thename"]')); 

对于您的情况,只需更改选择器并删除find

 var $element = $('#Adiv[name="thename"], #Adiv [name="thename"]'); 

这将导致包含Adiv的jQuery对象(如果匹配)以及匹配的Adiv的任何子对象。

如果你使用jQuery> = 1.4并且知道Adiv肯定存在于DOM中,那么另一种更高效的方法:

 $('#Adiv').filter('[name="thename"]').add('[name="thename"]', window.Adiv); 

…虽然我推荐第一个,因为它更清洁,更有弹性。