我有一个像下面这样的数组
[jQuery('div#example1'), jQuery('div#example2'), jQuery('div#example3'), jQuery('div#etcetera')]
目标
elementArray = [jQuery('div#example1'), jQuery('div#example2'), jQuery('div#example3'), jQuery('div#etcetera')];
$(elementArray).remove();
//or
$(elementArray).css('border', '1px solid red');
我希望他们都能得到同样的治疗,有一些功能。我知道访问元素的唯一方法是循环遍历数组。
有人可以用更有效的方式帮助我解决这个问题吗?
答案 0 :(得分:1)
你走了:
$.each(elementArray, function(i, v) {
v.remove();
});
使用$.each
时,该函数针对每个数组元素运行(由v
引用)。
现场演示: http://jsfiddle.net/XyRZE/
更新:您可以使用map
将数组中的每个jQuery对象替换为其中包含的DOM元素对象。
$(elementArray).map(function(i, v) { return v[0]; }).remove();
答案 1 :(得分:0)
也许你可以将所有项目一起选择到一个jQuery数组
var myArray = $("div#wallItem303.wallItem, div#wallItem103.wallItem, div#wallItem323.wallItem");
myArray.css('border', '1px solid red');
答案 2 :(得分:0)
您可以在jquery选择器中定位多个元素。
请参阅jQuery multiple selector api。
jQuery('#wallItem303, #wallItem303').remove();
N.B如果你有一个id,不要在选择器中用nodeName作为前缀。
答案 3 :(得分:0)
这是解决方案。 你的方式很好,但是如果你想使用一个函数,你可以在这里:
$(elementArray).each(function(){
$(this).css('border', '1px solid red');
//Do whatever you want in this function
});
希望这会有所帮助。干杯