2010-01-27 56 views
1

所以,我試圖在文檔加載後更改兩個輸入字段的背景。我使用這個jQuery代碼:使用css()方法幫助我

$(document).ready(function() { 

    $('#login').css('background', "url('login-bg.gif') 3em center no-repeat"); 
    $('#password').css('background', "url('password-bg.gif') 3em center no-repeat"); 

}); 

我已經看了Firebug中的代碼,它似乎沒事。但是,輸入字段不會更改其背景。

如果我只設置了背景中它的作品樣式表(我想用jQuery做到這一點,但因爲我想改變字段的背景後,各種事件發生)。

+1

你保持樣式表,圖片和頁面,你在同一個顯示夾? – roman 2010-01-27 22:44:28

+0

嘗試使用雙引號來包裹您的選擇器和「背景」或「背景圖像」。由於引號不匹配,jQuery可能在內部處理一些錯誤。由於您在url選項中使用單引號,因此您必須爲jquery選項使用雙引號。但是,url選項不需要引號,因此您可以刪除這些單引號。 – 2010-01-27 22:47:06

+0

我認爲單引號不是必需的,但推薦。我在大多數在線css教程中看到他們。 – 2010-01-28 21:42:58

回答

1

圖像應該與頁面位於同一路徑。

3

我認爲你需要使用

css("background-image", "url(login-bg.gif)"); 
css("background-position", "3em center"); 
css("background-repeat", "no-repeat"); 

或者說

css({ "background-image" : "url(login-bg.gif)", 
     "background-position" : "3em center", 
     "background-repeat" : "no-repeat" 
    } 
); 

第一句話就docs page

「速記CSS屬性(如保證金,背景,邊框)不支持「。

ALSO圖片的路徑應該是而不是被引用。

1

我在FF 3.5.7和IE 7中測試了下面的代碼,它似乎工作。確定你已經檢查過...但在某處錯別字?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 

    <head> 
     <title>Test</title> 

     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js" /></script> 

     <script type="text/javascript"> 
      $(document).ready(function() { 
       $('#login').css('background', "url('login-bg.gif') 3em center no-repeat"); 
       $('#password').css('background', "url('password-bg.gif') 3em center no-repeat"); 
      }); 
     </script> 
    </head> 

    <body style="font-family: Verdana; font-size: 0.8em; margin: 3em; background-color: #f1f1f1;"> 

    <div><input id="login" type="text" /></div> 

    <br /> 

    <div><input id="password" type="text" /></div> 

    </body> 

</html> 
+0

是的,我有一個錯字:) – 2010-01-28 21:42:28

1
  1. 確保圖片的路徑是正確的
  2. 刪除CSS url樣式裏面的單引號,即url(login-bg.gif)