2013-05-17 34 views
1
<img src="" class="className" click="" id='button4' u="button6" r="button5" l="ele1" d="" /> 

我有一個圖像,其中我需要更改「U」數據類型的值。 「U」數據由我正在使用的開發人員實施,我需要能夠使用jQuery在每15秒的指定時間線的循環中更改其值。用jQuery處理自定義值

我可以找出循環部分,但我只是想看看是否有一種方法來操縱使用jQuery的「u」值。

+1

您可以共享圖像標籤的標記和數值更改 –

+1

它可以像'$一樣簡單(「IMG的邏輯[ü ]')。attr('u','')' –

+0

當然,我已經添加了上面的代碼。就邏輯而言,我實際上需要在每15秒的循環中更改「u」值。所以在這種情況下,我可以每15秒將button6上的「u」更改爲button7或** 8。 – Brock

回答

1

嘗試

setInterval(function(){ 
    var val = $('#button4').attr('u').substring(6); 
    $('#button4').attr('u', 'button' + (1 + +val)) 
}, 1000) 

演示:Fiddle

0

這樣的:

$("#button4").attr("u", "new value"); 
2

可以更改u屬性(順便說一句,如果你從udata-u切換那麼這將是一個有效的屬性,HTML5下):

$('img').attr('u', function(i,u) { 
    /* i is the index of the current image among all the images returned by the selector, 
     u is the current value of that attribute */ 
    return u.slice(0, -1) + (parseInt(u.replace(/\D/g,''), 10) + 1); 
}); 

JS Fiddle demo

雖然新的價值應該如何影響,由循環或其他變量,由於有限的信息在問題本身是未知的。

爲了演示如何使用(在HTML5)的data-*屬性,允許自定義屬性是有效的:

<img src="http://placekitten.com/400/500" class="className" click="" id='button4' data-u="button6" data-r="button5" data-l="ele1" data-d="" /> 

用下面的jQuery:

$('img').attr('data-u', function (i, u) { 
    return u.replace(/\d+$/,'') + (parseInt(u.replace(/\D/g, ''), 10) + 1); 
}); 

JS Fiddle demo

參照張貼在另一個問題(Using a function to update a value within the data() method of jQuery sets the variable equivalent to the anonymous function, not the return value),該data()方法不接受一個函數作爲一個回調,因爲attr()做,這就是爲什麼我用.attr('data-u', function(){/*...*/})而非data()方法本身(的答案,雖然我首先嚐試,哪個沒有工作)。

參考文獻: