2015-11-28 61 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中的示例