Jquery在self中启动搜索

Jquery在self中启动搜索,jquery,Jquery,我目前使用以下方法: var element = $('#Adiv').find('[name="thename"]'); 这将在Adiv中搜索名为“thename”的元素。 但是Adiv也可以有“thename”这个名字,所以它应该先看看自己的名字。 我该怎么做?我尝试了和self(),但这只包括整个元素,即使它没有正确的名称。您可以这样做: var element = $('#Adiv').parent().find('[name="thename"]'); 这可能是一个选项,因为ID是

我目前使用以下方法:

var element = $('#Adiv').find('[name="thename"]');
这将在Adiv中搜索名为“thename”的元素。 但是Adiv也可以有“thename”这个名字,所以它应该先看看自己的名字。
我该怎么做?我尝试了
和self()
,但这只包括整个元素,即使它没有正确的名称。

您可以这样做:

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"]');
这将导致一个jQuery对象包含Adiv(如果匹配的话)和匹配的Adiv的任何子对象

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

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

…尽管我建议使用第一个,因为它更干净、更具弹性。

我不知道父级是什么,可能是另一个div,其中包含另一个名为'thename'的元素。$('div[name=thename').parent().find('name=thename'));这将获取#Adiv的兄弟姐妹和他们的孩子。可能重复为什么不首先使用更好的选择器?请参阅下面我的解决方案: