使用jQuery attr()来设置"css"

use*_*964 10 css jquery attr

我正在阅读"jQuery Pocket Reference"一书,O'Reilly,2011在第15页,它说

'例如,调用attr("css",{backgroundColor:"gray"})与调用css({backgroundColor:"gray"})相同.

但我无法使attr("css",{})起作用.我的测试代码:http://jsfiddle.net/4UMN3/4/

$(function() {
$("#btnChangeColor").click(function () {
$("#spanText").attr("css", { backgroundColor: "gray" });

 });

});
Run Code Online (Sandbox Code Playgroud)

css()方法工作正常,http://jsfiddle.net/4UMN3/5/

谢谢

小智 13

更换:

$("#spanText").attr("css", { backgroundColor: "gray" });
Run Code Online (Sandbox Code Playgroud)

$("#spanText").attr('style',  'background-color:gray');
Run Code Online (Sandbox Code Playgroud)


Ori*_*iol 8

大概是这样的

$("#spanText").attr('style', 'background-color:gray');
Run Code Online (Sandbox Code Playgroud)

这可能有效,但有一些问题:

  • 最好更改style属性而不是style属性。
  • 它将替换所有先前设置的内联样式。

然后,如果您使用 jQuery,最好使用css方法:

$("#spanText").css('background-color', 'gray');
Run Code Online (Sandbox Code Playgroud)

但是style属性在 vanilla-js 中很有用:

document.getElementById("spanText").style.backgroundColor = 'gray';
Run Code Online (Sandbox Code Playgroud)