jQuery css модификатор, используйте переменную javascript - PullRequest
1 голос
/ 24 марта 2009

У меня есть эта строка jQuery:

$("#colorimage").css('background','url(images/bw.jpg)');

Первый вопрос: как это работает, когда фоновое изображение устанавливается с помощью CSS через jQuery, откуда оно ищет папку с изображениями?

Второй вопрос: есть ли способ вставить переменную Javascript во второй аргумент? У меня есть базовый URL-адрес, хранящийся в переменной js, но я делаю что-то вроде этого:

$("#colorimage").css('background','url(' +  baseurl + 'images/bw.jpg)');

не работает.

EDIT: baseurl - это переменная Javascript, сейчас она http://localhost/test/, но она будет меняться, поэтому я хочу использовать переменную.

РЕДАКТИРОВАТЬ 2: Это была проблема пути, спасибо вам, ребята за ответы

Ответы [ 3 ]

2 голосов
/ 24 марта 2009

Вопрос 1: jQuery будет устанавливать CSS фонового изображения на «url (images / bw.jpg)» точно так же, как если бы вы изменили CSS напрямую. Другими словами, если он находится в файле CSS, он будет относительно этого файла CSS. Если он встроенный, он будет относительно страницы.

Вопрос 2: Посмотрите на ответ Никфа - единственная причина, по которой он не работает, заключается в том, что это неправильный путь.

РЕДАКТИРОВАТЬ: попробуйте проверить содержимое переменной baseurl (firebug или даже alert()). Я не понимаю, почему это не сработает, если путь не указывает на неправильное место.

2 голосов
/ 24 марта 2009

Он будет получать URL-адрес из местоположения файла, в котором он был применен, поэтому, если ваша страница имеет значение http://mysite.com/index.html, оно будет выглядеть как http://mysite.com/images/bw.jpg

Попробуйте сделать ваш baseurl абсолютным, поставив косую черту в начале, или используйте полный URL

baseurl = "/mySubFolder";
baseurl = "http://mysite.com/mySubFolder";
0 голосов
/ 24 марта 2009

Вы также можете попробовать:

$("#colorimage").css('background-image','url(' +  baseurl + 'images/bw.jpg)');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...