Javascript jQuery—从元素列表中选择具有特定属性的元素
我有一个元素列表,在一个“that”变量中。 如何在这些元素中找到具有特定属性的元素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
(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
应该足够了。