2015-04-02 31 views
-1

http://jsfiddle.net/g6h28a2a/得到使用CSS背景值的jQuery

div { 
    background: url('http://i.imgur.com/tOaDddv.png') no-repeat; 
} 
alert($('div').css('background')); 

我希望它返回url('http://i.imgur.com/tOaDddv.png') no-repeat;但它返回一個字符串奇怪。儘管如果我將該值分配給另一個元素,它也起作用,但我不明白爲什麼它會返回那個奇怪的字符串。

+7

jQuery的'CSS()'方法返回計算樣式可以是不同的瀏覽器從到瀏覽器 – 2015-04-02 13:01:06

+1

檢查元件和查看所計算的樣式:http://i.imgur.com/Z2frsPM.png – epascarello 2015-04-02 13:11:37

回答

-1

您可以嘗試

alert($('div').css('background-image'));
div { 
 
    background: url('http://i.imgur.com/tOaDddv.png') no-repeat; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> 
 
<div></div>

+0

哇!如果我有!重要的結尾,它會隨之而來嗎? – 2015-04-02 13:01:29

+0

「不重複」陳述怎麼樣? – 2015-04-02 13:01:59

+0

停止downvoting現在正在工作 – Akshay 2015-04-02 13:03:04

2

你colud結合兩個屬性來獲得相同的,你需要的東西:

alert(
    $('div').css('background-image') 
    + ' ' 
    + $('div').css('background-repeat') 
); 
3

'背景' 是性質的連接(讀更多關於這個MDN)。我想要的是'背景圖像'和'背景重複'屬性。

alert($('div').css('background-image') + " " + $('div').css('background-repeat')); 
+1

雅,但如果在其他答案的評論中提出OP,則會出現'!important'聲明。實際上,OP應該查看'document.styleSheets',但我沒有看到任何理由 – 2015-04-02 13:11:41

+0

@ A.Wolff:這個功能在jQuery中不存在。檢查http://stackoverflow.com/questions/10314131/check-if-css-property-has-important-attribute-申請一個沒有jQuery解決方案。 – Serf 2015-04-02 13:46:25