2010-11-17 78 views
3

的端我有以下跟蹤像素:需要一個變量添加到IMG SRC

<img id="pixel" alt="" width="1" height="1" src="https://domain.com/file.cfm?amount={tag_amount}&amp;tracking={tag_invoicenumber}&amp;transtype=sale&amp;merchantID=29562" /> 

我需要一個變量添加到圖像源的端部。這裏是我玩的jQuery。

$('img#pixel [src]').append(affiliateCode); 

這不起作用。有什麼建議麼??提前致謝!

回答

7

追加對全DOM對象只,要附加到src屬性。

嘗試:

var affiliateCode = '12345'; 

$('#pixel').attr('src', $('#pixel').attr('src') + '&affiliate=' + affiliateCode); 

明顯改變,無論你需要的參數名稱。

+0

工作完美!謝謝。我放棄了'&affiliate ='。不需要那件。 – 2010-11-17 20:24:29

+0

很好,我建議使用John Hartsock的修改使$('#pixel')變成一個變量並重用它,因爲這樣更有效率。 – Orbling 2010-11-17 20:27:14

2
var affiliateCode = "affiliateCode=1234"; 
var myimage = $('img#pixel'); 
myimage.attr("src", myimage.attr("src") + "&" + affiliateCode); 

如果聯盟代碼是靜態的,這是更有效的

$('img#pixel').attr("src",function (index, attribute) { 
    attribute += "&affiliateCode=1234"; 
}); 
+0

從效率的角度來看,這比我的要好一些,因爲將jQuery對象綁定到變​​量而不是重複選擇器兩次導致Sizzle只需要使用一次,即單個對象的instatiation。 – Orbling 2010-11-17 20:24:31

+0

@orbling ... @mmsa ...其實;如果聯盟代碼是靜態的,那麼這是更高效的。 – 2010-11-17 20:28:08

+0

是的,完全忘了attr()有一個attr(字符串,函數)變體。井井有條。 :-) – Orbling 2010-11-17 20:33:11

0
$('#pixel').attr('src', $('#pixel').attr('src')+'&affiliateCode='affiliateCode); 
1

你能做到這樣:

var srcVal = $('img#pixel').attr('src'); 
$('img#pixel').attr('src', srcVal + affiliateCode); 
0

我覺得上面的代碼:

var affiliateCode = '12345'; 
$('#pixel').attr('src', $('#pixel').attr('src') + '&affiliate=' + affiliateCode); 

正確照耀處,但計算器的編輯做奇怪的事情的代碼。 參數&affiliate應該包含一個&符號,後跟amp和一個分號。