Присвоение множиству элементов уникальных атрибутов из переменной
Здравствуйте. Есть такой ШТМЛ
<select > <option value="120" selected="selected">опция 1 {2}</option> <option value="677">опция 2 {3m}</option> <option value="678">опция 3{4m}</option> </select > необходимо каждой опции селекта присвоить атрибут dada значением которой должны быть цифры содержащиеся в тексте самой опции (которые заключены в фигурные скобки). Пытался сделать это таким кодом $("option").each(function(){ var name = $("option").text(); var text = name.substring(name.indexOf('{') + 1, name.indexOf('}')); $("option").attr('data', text)}) Но в результате атрибут у всех опций имеет значение полученное из первой. |
$("option").each(function(){ var name = $(this).text(); var text = name.match(/\{(\d+)/)[1]; $(this).attr('data', text); }); |
Потому что Вы вызвали цикл но не пользуетесь им. Вместо $("option") внутри цикла надо использовать $(this) который возвращает текущий элемент
$("option").each(function(){ var name = $(this).text(), text = name.substring(name.indexOf('{') + 1, name.indexOf('}')); $(this).attr('data', text); }); |
Спасибо Вам огромное. Только начинаю разбираться в JS.
|
Часовой пояс GMT +3, время: 17:36. |