2011-10-27 102 views
0

我想動態更改特定元素的CSS。 下面的硬編碼的jQuery語句的工作:jQuery - 動態更改CSS

$('.people div[data-face="1"] i').css('background-image', 'url(http://localhost:58888/_pictures/picture_000.jpg)'); 

不過,我需要「1」是一個變量(「dataNum」)和實際的URL是否需要一個變量,名爲「URL」。

我一直在嘗試各種轉義字符,但無法讓它無錯地工作。 這裏是我的最新消息:

$("\'.people div[data-face=\" " + dataNum + '\"] i\').css(\'background-image\', \'url(' + URL + ')\' '); 

我缺少什麼?謝謝。

回答

1

你可以用字符串連接像做:

$('.people div[data-face="' + dataNum + '"] i').css('background-image', 'url('+URL+')'); 
2

jQuery選擇器不是魔法;他們只是普通的琴絃。
你不需要轉義任何東西。

相反,你只需要普通的字符串連接。

0

嘗試

$('.people div[data-face="'+dataNum+'"] i').css('background-image', 'url(\''+URL+'\')'); 
0

這對dataNum只是字符串數學(串聯)和url變量的直線取代:

$('.people div[data-face="' + dataNum + '"] i').css('background-image', url); 

,或者如果你想看到的字符串數學更細分細節:

var selector = '.people div[data-face="'; 
selector += dataNum; 
selector += '"] i'; 
$(selector).css('background-image', url); 
0
$('.people div[data-face="' + dataNum + "'"] i').css('background-image', 'url(' + URL + ')'); 
0

你並不真的需要逃避,下面的代碼應該工作:

$('.people div[data-face="'+dataNum+'"] i').css('background-image', 'url('+URL+')');