我目前正在使用以下内容:
var element = $('#Adiv').find('[name="thename"]');
在Adiv中搜索名称为'thename'的元素。
但Adiv也可能有'thename'这个名字,所以首先应该看看它自己的名字。
我该怎么做呢?我尝试了andSelf()
,但即使它没有正确的名称,它也只包含整个元素。
答案 0 :(得分:4)
var element = $('#Adiv').parent().find('[name="thename"]');
答案 1 :(得分:0)
这可能是一个选项,因为ID是唯一的:
$('#Adiv').find('*[name="thename"]').add($('#Adiv[name="thename"]'));
答案 2 :(得分:0)
对于您的情况,只需更改选择器并删除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);
...虽然我推荐第一个,因为它更清洁,更有弹性。