2012-04-15 4 views
7
var selector = $(this); 

Что такое правильный код, чтобы изменить пользовательский атрибут data-change-me для selector?Как изменить значение пользовательского атрибута

Синтаксис

selector[data-change-me='someValue']; 

не работает для меня

+0

Возможный дубликат [можно установить пользовательский атрибут функцией jQuery attr() с использованием переменных JS] (http://stackoverflow.com/questions/7497066/is-it-possible-to-set-custom -attribute-by-jquery-attr-function-using-js-variab) – givanse

ответ

17

Я думаю, что вы хотите метод атр.

selector.attr("data-change-me","someValue"); 

Вот документация: http://api.jquery.com/attr/

Стоит отметить также, что это было похоже, что вы пытаетесь сделать, это лечить JQuery обернутый объект DOM в качестве объекта Javascript, например:

Посмотрите на следующий пример для того, что я имею в виду:

var myObject = { 
    "data-change-me":"someValue"; 
}; 

myObject["data-change-me"] = "someOtherValue"; 

Это допустимый синтаксис для чистых объектов Javascript, но не jQuery. Чтобы узнать о Javascript Я рекомендую Javascript the good parts

11

Хотя Rob Stevenson-Leggett совершенно правильно, важно помнить, что вы можете использовать обычный JavaScript для этого тоже:

var selector = document.getElementById('div'); 
selector.setAttribute('data-change-me','red');​ 

JS Fiddle demo.

Ссылки:

+1

Хорошая точка Дэвид. –

+0

Спасибо! Я, честно говоря, предпочитаю jQuery для этого ('setAttribute()' s не идеален в конце концов), но, похоже, стоило сделать это. =) –

+1

плюс 1 для чистого JS! Спасибо, сэр – lwdthe1

Смежные вопросы