Прежде всего, код был упрощен и содержит только основные части.jQuery: Изменение 'id' с .attr ('id', 'val') не будет работать
Так у меня есть следующий HTML-файл (single_lesson.html):
<tr class="my_lessons">
<td>
<select name="my_von" id="my_von"></select>
</td>
</tr>
Я пытаюсь изменить id
из #my_von
в #my_von1
со следующим JQuery-код:
jQuery.get('single_lesson.html', function(my_html)
{
jQuery(my_html).children().children('#my_von').attr('id', 'my_von1');
}, 'html');
It не будет работать, и я понятия не имею, почему.
Линия
console.log(jQuery(my_html).children().children('#my_von'));
дает следующий массив:
[select#my_von, prevObject: e.fn.init[7], context: undefined, jquery: "1.11.1", constructor: function, selector: ""…]
Если открыть этот массив существует другой массив называется select#my_von
. Если я открою это, есть несколько полей, и один из них - id: "my_von"
. Поле id
есть, поэтому я не вижу причин, почему он не изменится.
Вы получаете HTML в виде строки, а затем завернув 'JQuery (my_html)', то вы измените идентификатор, но вы ничего не делаете с объектом JQuery, и исходная строка не будет изменена, так что, завернув ее снова, вы получите точный результат? – adeneo
вы не меняете содержимое 'my_html', идентификатор будет обновлен в dom-объекте, созданном вызовом' jQuery (my_html) ', но он не будет обновлен в строке, хранящейся в' my_html' –