Вы можете изменить атрибут u
(кстати, если вы переключаетесь с u
к data-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.
Хотя влияние нового значения на петлю или другие переменные неизвестно из-за ограниченной информации в самом вопросе.
Чтобы продемонстрировать, как использовать data-*
атрибуты, которые позволяет пользовательские атрибуты в силе (под HTML5):
<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()
метод (хотя я попробовал, что во-первых, что не сработало).
Ссылки:
Вы можете разделить разметку для тега изображения и логику для изменения значения –
Это может быть так просто, как '$ ('IMG [U ] '). attr (' u ',' ') ' –
Несомненно, я добавил код выше. Что касается логики, мне действительно нужно изменить значение «u» в петле каждые 15 секунд. Поэтому в этом случае я могу изменить «u» с кнопки6 на кнопку7 или ** 8 каждые 15 секунд. – Brock