Javascript jQuery—从元素列表中选择具有特定属性的元素

Javascript jQuery—从元素列表中选择具有特定属性的元素,javascript,jquery,Javascript,Jquery,我有一个元素列表,在一个“that”变量中。 如何在这些元素中找到具有特定属性的元素 (function( $ ) { $.fn.blah = function(){ var that = this; return this.each(function(){ $(this).bind('change', function(){ $("[name]", that).dostuff(); // <- doesn't seem to wor

我有一个元素列表,在一个“that”变量中。 如何在这些元素中找到具有特定属性的元素

(function( $ ) {
  $.fn.blah = function(){
    var that = this;
    return this.each(function(){
       $(this).bind('change', function(){
           $("[name]", that).dostuff(); // <- doesn't seem to work

           return true;
        }).change();

   });
 };

})(jQuery);
(函数($){
$.fn.blah=函数(){
var=这个;
返回此值。每个(函数(){
$(this.bind('change',function()){
$(“[name]”,that.dostuff();//使用
.filter()
方法应该可以:

$(that).filter('[name]').dostuff();
.filter()
方法应该执行以下操作:

$(that).filter('[name]').dostuff();
这有用吗

var found=$(that).find("thingyousearching");
这有用吗

var found=$(that).find("thingyousearching");

您也可以使用
:contains

$(that).contains("[name]").dostuff();

您也可以使用
:contains

$(that).contains("[name]").dostuff();

find
将搜索当前所选元素的所有后代,而不是元素本身。@Felix Kling-好的。它解决了她的问题吗?那么你的建议是什么?@Fertool:不,它没有解决她的问题。看看@jAndy的答案。@Felix Kling-我明白了……那么过滤器比find好?或者find甚至不起作用?@Fertool:
find
不起作用。
find
类似于
$('div[name]')
,它将查找所有具有
name
属性且位于div内的元素。我认为OP需要
$(div[name])
,即查找所有具有name属性的div。因此假设
为$('div'))
find
将执行前者,而
将执行后者。有关详细信息,请参阅文档。
find
将搜索当前选定元素的所有后代,而不是元素本身。@Felix Kling-好。它解决了她的问题吗?那么你的建议是什么?@Fertool:不,它不会解决她的问题em.看看@jAndy的答案。@Felix Kling-我明白了…所以过滤器比find好?或者find甚至不起作用?@Fertool:
find
不起作用。
find
就像
$('div[name]')
一样,它会找到所有具有
name
属性且在div中的元素。我认为OP想要
$(div[name])
,即查找所有具有名称属性的div。因此,假设
that=$('div')
find
将执行前者,而
过滤器将执行后者。有关详细信息,请参阅文档。
。contains
用于选择包含某些文本的元素。在您的案例中,您可以搜索
:[name]
。OP希望筛选具有
名称
属性的元素。
.contains
用于选择包含某些文本的元素。在您的情况下,您可以搜索
:[name]
。OP想要筛选具有
名称属性的元素。@Alexandra:为什么这很奇怪?我想你只需要学习一些重要的方法。
$(“[name]”),那)
不起作用,因为它与
的属性相同。查找([name]”)
将搜索
中与selector.Btw匹配的
元素的所有后代。
已经是一个jQuery对象,因此
该.filter
应该足够了。@Alexandra:为什么奇怪?我想你只需要学习一些重要的方法。
$(“[name]”,that)
不起作用,因为它与
相同。find(“[名称]”)
将搜索
中与选择器匹配的
元素的所有后代。顺便说一句。
that
已经是jQuery对象,因此
that.filter
应该足够了。