它是我的一次。我如何從定義的數組中調用數據?Jquery,與數組一起工作
var myArray = new Array("http://www.gravatar.com/avatar.php", "http://1.gravatar.com/avatar/", "http://0.gravatar.com/avatar/");
$('img[src^="DATA FROM myArray"]').remove()
它是我的一次。我如何從定義的數組中調用數據?Jquery,與數組一起工作
var myArray = new Array("http://www.gravatar.com/avatar.php", "http://1.gravatar.com/avatar/", "http://0.gravatar.com/avatar/");
$('img[src^="DATA FROM myArray"]').remove()
$(myArray).each(function(idx,elem){
/*idx is item index, elem is the item itself*/
$('img[src^="'+elem+'"]').remove();
})
InArray讓我們來得到一個數組中項目的索引。所以:
myArray[$.inArray("http://www.gravatar.com/avatar.php",myArray)]
var myArray = [
"http://www.gravatar.com/avatar.php",
"http://1.gravatar.com/avatar/",
"http://0.gravatar.com/avatar/"
];
$('img').filter(function() {
var inArray = false;
var src = $(this).attr('src');
$.each(myArray, function() {
if(src.indexOf(this) == 0)
inArray = true;
}
return inArray;
}).remove()
或者你可以只使用正則表達式:
$('img').filter(function() {
return $(this).attr('src')
.match(/^http:\/\/(www|0|1)\.gravatar\.com\/avatar(\.php)?/i);
}).remove()
你可以做這樣的事情:
$('img[src^="' + myArray[1] + '"]').remove();
如果要選擇所有元素,獨立於你想要做什麼和他們在一起,你可以這樣做:
var $elements = $();
for(var i = myArray.length;i--;) {
$elements.add($('img[src^="' + myArray[i] + '"]'));
}
您應該使用數組文本[...]
,而不是數組構造。
也許它的速度更快這樣獲取:
$("img[src]").filter(function() {
return $.inArray($(this).attr("src"), myArray) != -1;
}).remove();
這不會做問題。測試是'src' _starts_是否具有數組元素,而不是_is_數組元素。 – Eric
你是對的,那是真的! –
我相信這個解決方案是simpliest和最好的一個。 –
是的,tnx隊友這個例子工作正常:) –
@Mister X:不要忘記在我的答案中使用更清晰的數組文字符號。 – Eric