Я пытаюсь изменить изображение src атрибут с помощью jQuery
jQuery("#imageID").attr('src','http://localhost:8080/images/1/myImage.png' );
использование вышеупомянутого кода, я могу изменить атрибут src, но когда я пробую этот:-
jQuery("#imageID").attr('src',jQuery("#imageBlock").css('background-image') );
я неспособен изменить src.
если
alert ( jQuery("#imageBlock").css('background-image') );
возвраты:
Редактирование № 1 Как раз в то самое время, когда я собирался принять решение. Я должен сказать, почти все решение работало в И следующие. Я попробовал:
Я предполагаю, что другие будут также работать. Но ни одно из решений не работает в IE. Причем причина: в то время как FF возвращается:
Возвраты IE:
^^ возражают против кавычек здесь
Теперь, каков мог быть универсальный способ установить src attr. Я должен протестировать браузер, если это - IE или нет?
Это - рабочий код.
var src = "";
if ( jQuery.browser.msie ) {
src = jQuery("#imageBlock").css('background-image').slice(5,-2);
}else{
src = jQuery("#imageBlock").css('background-image').slice(4,-1);
}
jQuery("#imageID").attr('src', src );
Мне действительно не нравится он: x. Если существует другое решение, чем это, то сообщите мне, или иначе я приму slice
решение немедленно.
IMO, Slice
более уместно, чем подстроки
или замена
. Попробуйте это:
jQuery("#imageID").attr(
'src',
jQuery("#imageBlock").css('background-image').slice(4,-1)
);
Здесь вы нарезаете строку между URL (
и )
. См. MDC на срезе для подробного описания метода.
Вам нужно извлечь url-часть:
var backgroundImage = $("#imageBlock")
.css('backgroundImage')
.replace(/"/g,"")
.replace(/url\(|\)$/ig, "");
jQuery("#imageID").attr('src', backgroundImage);
Это потому, что строка url() обернута вокруг нее. Вам нужно будет отделить ее от строки, например, с помощью функции replace...
var bgimg = jQuery("#imageBlock").css('background-image').replace('url(', '');
bgimg.replace(')', '');
Вам нужно будет прокрутить URL-адрес (
и закрытие )
запчасти для того, чтобы работать.
Итак URL (http: // localhost: 8080 / images / 1 / myImage.png)
становится
http: // localhost: 8080 / Images / 1 / myImage.png
Вы можете сделать это с подстрокой, регулярным выражением или любым методом выбора.
http://www.w3schools.com/jsref/jsref_replace.asp
Возможно:
jQuery ("#imageid") .attr ('src', jQuery ("#Imageblock") .css ( «Фоновое изображение»). Заменить ('URL (', ''). Заменить (')', ''))