2015-11-28 59 views
1

我很困惑。JQuery css()和JavaScript風格

我有一個按鈕

<button onclick="foo(this)" id="bar">Button</button> 

我的JavaScript代碼是這樣的:

var foo = function(param) 
{ 
    param.style.backgroundColor = 'blue'; 
}; 

它的工作...當我點擊的backgroundColor改爲藍色!

但是,當我使用JQuery CSS()方法,如:

var foo = function(param) 
{ 
    param.css('background-color', 'blue'); 
}; 

什麼也沒發生!

當然,我確實添加了JQuery庫!但沒有發生,我不知道爲什麼..?

+0

將'param'包裹在'jQuery'內。例如: - 'jQuery(param).css('background-color','blue');' – Abhi

回答

5

什麼都沒發生!

這不太可能。什麼應該發生的是,該控制檯在瀏覽器的開發工具應該說沿着線的東西:

Uncaught TypeError: param.css is not a function(…) 

經常關注瀏覽器的開發者工具調試JavaScript的時候。


jQuery不會向HTML元素對象添加新方法。

css是一個jQuery對象的方法。你需要在jQuery對象上調用它。

jQuery(param).css(etc etc) 
2

param指DOM對象中foo()css()方法在jquery的$對象定義,以便使用$(param)

2

由於.css是一個jQuery功能。所以,你應該把param換成jQuery。像: -

jQuery(param).css('background-color', 'blue'); 

.css將始終與使用jQuery選擇的元素一起工作。請參閱Docs中的示例