2013-11-21 2 views
0

Я хочу изменить фоновое изображение с помощью jquery.Изменить фоновое изображение с помощью jquery и избежать двойных кавычек

пользователь вводит URL-адрес на его фоне во входном тексте, и при нажатии кнопки изменение фонового изображения простое.

это код, который я использовал.

$(".change_bg").on("click",function(e){ 

    e.preventDefault(); 

    var bg = $(".bg_input").val(); 

    $("table").css("background-image", "url("+bg+")"); 

}); 

этот код отлично работает.

Моя проблема в том, когда я открываю firebug, я вижу это.

<table style="background-image: url("the_new_background-image");" > 

Как я могу удалить двойные кавычки внутри URL-адреса и получить это.

<table style="background-image: url(the_new_background-image);" > 

Весь HTML код будет отправлен на сервер и получить загружены, поэтому, когда я пытаюсь открыть скачанный файл HTML в браузере фоновое изображение не отображается.

Я пытаюсь использовать этот код и заменять двойные кавычки, но я не добился успеха.

$("table").css("background-image", ("url('"+bg+"')").replace(/"/g,"")); 

Пожалуйста, помогите.

+0

Я не понимаю, откуда взялась ваша проблема. Любой онлайн-образец, чтобы мы могли его протестировать? –

+1

Я не могу воспроизвести вашу проблему. Хорошо работает здесь: http://jsfiddle.net/ThF5Z/ – nbar

+0

Только одно, если я правильно понимаю вашу проблему, вы должны установить URL-адрес фонового изображения как абсолютный, если он используется не напрямую с сервера –

ответ

0

Попробуйте это:

$("table").css("background-image", "url(" + escape(bg) + ")"); 

Или еще лучше,

var bg = escape($(".bg_input").val()); 

побег, прежде чем делать что-нибудь еще!

+0

спасибо @russellc, но это не работает! –

0

Собственно, ваш код должен работать нормально. Параметру url() не нужны кавычки, url (urltofile) работает так же хорошо, как url ​​(«urltofile»).

See a working fiddle

$(".change_bg").on("click",function(e){ 

    e.preventDefault(); 

    var bg = $(".bg_input").val().replace("\"", ""); 

    $("table").css("background-image", "url("+bg+")"); 

}); 
+0

Я уже пробовал, но он не работает, спасибо @Alex –

+0

, но это не работает?как вы можете видеть в скрипке, это должно быть – Alex

0

Там нет никаких проблем с вашим кодом, как вы можете увидеть здесь: jsfiddle.net/ThF5Z

$("#me").on("click",function(e){ 
console.log("click"); 
    e.preventDefault(); 

    var bg = $("input").val(); 

    $("#me").css("background-image", "url("+bg+")"); 

}); 

Кавычки происходит от поджигатель/Firefox. Проверьте тот же код в хроме, и у вас нет котировок. Нечего исправить.

+0

Вы полностью правы, нет кавычек в хроме, любая идея, почему firfox вставляют цитаты вокруг изображения url? –

Смежные вопросы