Как добавить атрибут HTML с помощью jQuery
Ну, у меня есть это слайд-шоу изображений jQuery, которое использует атрибут "control" внутри <a> . Видя, как это не подтвердилось, я искал способ добавить этот атрибут внутри моего HMTL через jQuery, но я действительно не нашел ничего подходящего. Теперь мне все равно, насколько достоверна моя страница, но мне очень интересно, как добавить HTML-атрибут внутри тега HTML.
Если я не был достаточно ясен с моим объяснением, у меня есть этот код:
<a id="previous" control="-6" href="#"></a>
И я хочу добавить control = "- 6" с помощью jQuery.
Ответы
Ответ 1
Так как версия jQuery была хорошо освещена здесь, я подумал, что предлагаю что-то другое, так что вот альтернатива DOM API:
document.getElementById('previous').setAttribute('control','-6');
Да, я знаю, что вы спросили jQuery. Никогда не больно знать родной путь тоже.: О)
Ответ 2
Использовать функцию jQuery attr
$("#previous").attr("control", "-6");
Пример
// Try to retrieve the control attribute
// returns undefined because the attribute doesn't exists
$("#previous").attr("control");
// Set the control attribute
$("#previous").attr("control", "-6");
// Retrieve the control attribute (-6)
$("#previous").attr("control");
Смотрите пример на jsFiddle
В качестве альтернативы вы можете использовать функцию data
для хранения значений элементов. Работает так же, например:
$("#previous").data("control"); // undefined
$("#previous").data("control", "-6"); // set the element data
$("#previous").data("control"); // retrieve -6
Используя data
, вы можете хранить более сложные значения, такие как объекты
$("#previos").data("control", { value: -6 });
($("#previos").data("control")).value; // -6
См. пример данных в jsFiddle
Ответ 3
Позвольте мне посмотреть, понял ли я вас.
У вас есть, например, код:
<a id="previous" href="#"></a>
И jQuery вы хотите, чтобы это было:
<a id="previous" control="-6" href="#"></a>
Правильно ли это?
Если это. Вам просто нужно сделать:
$('#previous').attr('control', -6);
Если атрибут не существует, он создается jQuery.
Итак, чтобы удалить его, вы можете:
$('#previous').removeAttr('control');
То, что вы делаете, не уважает правила html и все остальное, но работает отлично, много плагинов делают то же самое.; D
Надеюсь, это может быть полезно!
Увидимся!
Ответ 4
Попробуйте следующее:
$('#previous').attr('control', '-6');
Почему? $. attr(); функция jQuery позволяет добавлять, получать или обновлять атрибуты (класс, id, href, link, src, control и все остальное!).
Ответ 5
$("#previous").attr("control", "-6");
Ответ 6
HTML:
<a id="previous" href="#">...</a>
JQuery
$('#previous').attr('control', '-6');
Ответ 7
jQuery attr сделает это. Пример:
$("#previous").attr("control", "-6");
Также ознакомьтесь с этим примером в http://jsfiddle.net/grfSN/.