2009-11-13 13 views
7

Hey guys - Varolan bir öznitelik için ek bir url öbeği eklemeye çalışıyorum ve basitçe güncelleştirin.JQuery: Her Öğeye Öznitelik Değeri Ekleme

$("img").each(function (i) { 
    var originalSrc = $("img").attr('src'); 
    $("img").attr('src', 'http://www.domain-name.com/' + originalSrc);  
}); 

$("a").each(function (i) { 
    var originalHref = $("a").attr('href'); 
    $("a").attr('href', 'http://www.domain-name.com/' + originalHref);  
}); 

Tüm unsurları sayarak ve final niteliğine için uzun dize ekliyordur. Neler olduğunu anlıyorum, ama bunun için doğru yol olduğundan emin değilim. Bu açıkça yanlıştır.

Esasen, uzak bir sayfayı temizliyorum ve tüm göreli bağlantıları mutlak olarak sıfırlamam gerekiyor.

Teşekkürler! :-)

+0

Anladığımdan emin değilim Greets, bu yanlış bir parçası olan ne? –

+0

Bu sabah yeterince kahve içmedim, işte bu! :-) Teşekkürler beyler. Böyle bir saçma sapan bir şey. – ritsuke

cevap

25

Dene: Her işlev İçinde

$("img").each(function() { 
    var originalSrc = $(this).attr('src'); 
    $(this).attr('src', 'http://www.domain-name.com/' + originalSrc);  
}); 
0

$(this) yerine $(a) ve $(img) kullanın. kodunuzu yapısı kullanılarak

$("img").each(function (i) { 
    var image = $(this), // 'this' is the image element being iterated 
     originalSrc = image.attr('src'); 

    image.attr('src', 'http://www.domain-name.com/' + originalSrc);  
}); 
1

Eğer elemanları üzerinde döngü each yöntemi kullanılarak olduğundan, şu anda iterated öğeyi ifade ettiği, geri arama işlevi içinde this anahtar kelime kullanmanız gerekir

$("img").each(function (i) { 
    var $img = $(this); 
    var originalSrc = $img.attr('src'); // use "this" in the $() function to get the current element... 
    $img.attr('src', 'http://www.domain-name.com/' + originalSrc);  
}); 

$("a").each(function (i) { 
    var $a = $(this); 
    var originalHref = $a.attr('href'); 
    $a.attr('href', 'http://www.domain-name.com/' + originalHref);  
});

Düğüm listesinde 'geçerli' düğümü almak için jQuery'nin geri arama işlevlerinin içinde $(this)'u kullandığınızdan emin olun. ile

8

bile daha az iş (http://api.jquery.com/attr/ karşılaştırın):

$("img").attr('src', function(i, val){ 
    return 'http://www.domain.com/' + val; 
}); 

$("a").attr('href', function(i, val){ 
    return 'http://www.domain.com/' + val; 
}); 

İlgili konular