Почему не наследуются атрибуты js

A9
На сайте с 19.03.2018
Offline
74
190
temp='<picture><source a="000000" /></picture>';

$(temp).find('source').each(function(i1,e1){
$(e1).attr('a'); //Стоит "000000"
$(e1).attr('a','1111111');
});

$(temp) //стоит 000000, а не 11111111 почему! Как сделать!!!

Пока решил только созданием еще одной копии temp, удалить там source, а потом вставить в цикле each обратно, но уже с нужными атрибутами. Но мне самому не нравится.

W1
На сайте с 22.01.2021
Offline
303
#1
aramid92 :

Но мне самому не нравится.

Всё это безобразие и самому jQuery не нравится, поскольку  jQuery работает с элементами DOM, а не со строками.
Попутно замечу, что не надо без нужды использовать глобальные переменные.

Мой форум - https://webinfo.guru –Там я всегда на связи
I7
На сайте с 12.06.2008
Offline
361
#2
aramid92 :
//стоит 000000, а не 11111111 почему! Как сделать!!!

У вас не происходит в цикле изменение именно содержимого переменной temp. Вы меняете каждый раз элемент e1, на строку temp это естественно влиять не будет.

L
На сайте с 10.02.2015
Offline
231
#3
temp='<picture><source a="000000" /></picture>';

$temp = $(temp);
$temp.find('source').each(function(i1,e1){
        $(e1).attr('a'); //Стоит "000000"
        $(e1).attr('a','1111111');
});

Потом работаете уже с $temp.

W1
На сайте с 22.01.2021
Offline
303
#4
livetv #:
Потом работаете уже с $temp.

И в конце добавить

temp = $temp[0].outerHTML;

Только нафига все эти выкрутасы со строкой?

A9
На сайте с 19.03.2018
Offline
74
#5
webinfo #:

Только нафига все эти выкрутасы со строкой?

Я делаю галерею картинок из статьи (чтобы можно было увеличить). Беру код картинки из статьи, обрабатываю и пихаю в window. Поэтому приходится работать со строкой.

P.S. Спасибо, все получилось через $temp=$(temp).

W1
На сайте с 22.01.2021
Offline
303
#6
aramid92 #:
Поэтому приходится работать со строкой.

Не убедили. Работать надо с элементами DOM. То, что Вы творите, - это какая-то дичь.

I7
На сайте с 12.06.2008
Offline
361
#7
aramid92 #:
Я делаю галерею картинок из статьи (чтобы можно было увеличить). Беру код картинки из статьи, обрабатываю и пихаю в window. Поэтому приходится работать со строкой.

Это делается гораздо проще через различные плагины jQuery, которые из всех картинок с определёнными классами или атрибутами создают галерею. 

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий