Значение атрибута в недействительной верстке
Уважаемые форумчане, требуется ваша помощь!
В качестве исходных данных имеем недействительную разметку (генерится движком): <a href="<img src='/engine/pics/news/pic1_22.jpg' align=left>" rel="lightbox">есть</a> Нужно: <a href="/engine/pics/news/pic1_22.jpg" rel="lightbox">есть</a> Пробовал: $('a[rel=lightbox]').each(function(n){ this.href = this.attr("href").attr("src"); }); Получил: <a href="%3Cimg%20src=%27/engine/pics/news/pic1_22.jpg%27%20align=left%3E" rel="lightbox">есть</a> Таких элементов много. Что делать, как быть? :thanks: |
Цитата:
$('a[rel=lightbox]').each(function(n){ this.href = $(this.href).attr("src"); }); |
B@rmaley.e><e, и чем только я не пробовал! Твой вариант дает пустой href="".
|
Откуда вообще берутся эти %3C, %20, %27 и %3E? Как обойтись без них? Чувствую .attr("src"); не срабатывает именно по этой причине...
|
Перефразирую - я бы с радостью и большим удовольствием отрезал <img src=' и ' align=left> у этого href, и оставил бы только /engine/pics/news/pic1_22.jpg
Пусть это будет даже %3Cimg%20src=%27/engine/pics/news/pic1_22.jpg%27%20align=left%3E - в этом случае отрезал %3Cimg%20src=%27 и %27%20align=left%3E. |
Вы что, всё наугад делаете? Код неправильный
$('a[rel=lightbox]').each(function(n){ this.href = this.attr("href").attr("src"); }); Вот так попробуйте: $('a[rel=lightbox]').each(function(n){ $(this).attr('href', $(тут элемент из которого надо достать src).attr("src")); }); На счёт движка не понятно, что за движок? |
sysya
+10 Вот чуть переделал вариант от B@rmaley.e><e : $('a[rel=lightbox]').each(function(n){ this.href = $($(this).attr('href')).attr("src"); }); |
$('a[rel=lightbox]').each(function(n){ this.href = this.href.split("'")[1]; }); |
exec, хоть бы проверял иногда свои советы. Потому что так не верно.
|
micscr, это почему ещё?
|
Часовой пояс GMT +3, время: 13:36. |