通过jquery的方法选择javascript对象
我将如何选择:通过jquery的方法选择javascript对象,javascript,jquery,Javascript,Jquery,我将如何选择: object.id2 == "name1"; 使用jQuery(而不是遍历所有对象并查找与id2匹配的“name1”),因此我可以编写如下内容: $("name1"); 或者可能: $(object + " name1"); 或者可能: $(object).attr('id2','name1'); 您可以使用: 您可以使用: 如图所示: 如图所示:我不确定我是否完全理解您的问题,但如果您创建这样的对象: var foo = {id2 : "name1"}; $(foo)
object.id2 == "name1";
使用jQuery(而不是遍历所有对象并查找与id2
匹配的“name1”
),因此我可以编写如下内容:
$("name1");
或者可能:
$(object + " name1");
或者可能:
$(object).attr('id2','name1');
您可以使用:
您可以使用:
如图所示:
如图所示:我不确定我是否完全理解您的问题,但如果您创建这样的对象:
var foo = {id2 : "name1"};
$(foo)
您可以像这样使用jQuery选择器:
var foo = {id2 : "name1"};
$(foo)
我不确定我是否完全理解您的问题,但如果您创建这样的对象:
var foo = {id2 : "name1"};
$(foo)
您可以像这样使用jQuery选择器:
var foo = {id2 : "name1"};
$(foo)
这可能不是最好的方法,但如果您坚持使用jquery,这将是最好的方法:
var theArr = [{id2:"name0"},{id2:"name1"}];
var myObj = $(theArr).filter(function(){
return this.id2 === "name1";
}).get(0);
console.log(myObj); // Object {id2: "name1"}
当然,如果您不必支持IE这可能不是最好的方法,但如果您坚持使用jquery,这将是最好的方法:
var theArr = [{id2:"name0"},{id2:"name1"}];
var myObj = $(theArr).filter(function(){
return this.id2 === "name1";
}).get(0);
console.log(myObj); // Object {id2: "name1"}
当然,如果您不必支持IE,如果您需要从数组中选择对象,我建议使用
array.prototype.filter
。如果您的对象包含在数组中,您可以使用jQuery使用filter方法将数组筛选到目标对象,与上面提到的Array.prototype.filter方法相同,它也可以在IE中工作,如果您需要从数组中选择对象,我建议使用Array.prototype.filter
。如果您的对象包含在数组中,您可以使用jQuery使用filter方法将数组向下过滤到目标对象,与上面提到的Array.prototype.filter方法一样,它也可以在IEF中工作。像这样的对象如何:var foo=[{id2:name0},{id2:name1}]代码>IE,foo是一个数组。像这样的对象怎么样:var foo=[{id2:name0},{id2:name1}]代码>即,foo是数组。如果只有一个匹配项,myObj仍然是数组吗?(所以要访问它,它应该是$('[id2=“name1”]')[0]
?从技术上讲,它永远不会是一个数组,但它始终是一个类似数组的对象,即使只有一个对象。非常正确@KevinB,很好!它确实是一个jQuery对象,但它不包含我正在寻找的对象。它是一个带有mesh.id2=“name1”的三.js网格对象
。是的,因为这个答案中的代码是用于选择DOM元素的。如果只有一个匹配项,myObj仍然是一个数组吗?(因此要访问它,它应该是$('[id2=“name1”]')[0]
?从技术上讲,它永远不会是一个数组,但它始终是一个类似数组的对象,即使只有一个对象。非常正确@KevinB,很好!它确实是一个jQuery对象,但它不包含我要找的对象。它是一个带有mesh.id2=“name1”的三.js网格对象
。是的,因为这个答案中的代码是用于选择DOM元素的。这个答案肯定有效,尽管我很惊讶普通的jQuery不能做到这一点。@JVE999可以做到,它只是没有考虑到这个目的,所以它需要多一点代码来完成。@JVE999:为什么?jQuery是关于DOM操作的,而不是对象。Lodash基本上是对象的jQuery。它非常相似,在对象中搜索并匹配一个值,所以我认为它能够。我认为DOM也包括javascript。Lodash一定是答案。我注意到\uuu.find()
只返回第一个匹配项。有没有一种方法可以使用类似的方法返回所有匹配项?这个答案肯定有效,尽管我很惊讶普通的jQuery不能做到这一点。@JVE999可以,它只是没有考虑到这个目的,所以需要多一点代码来完成。@JVE999:为什么?jQuery是关于DOM操作的,而不是oLodash基本上是对象的jQuery。它非常相似,在对象中搜索并匹配一个值,所以我认为它可以。我认为DOM也包括javascript。Lodash一定是答案。我注意到\uuuu.find()
仅返回第一个匹配项。是否有方法使用类似的方法返回所有匹配项?太棒了。我不知道.filter
.Awesome。我不知道.filter
。