Как добавить атрибут 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/.