如何使用jQuery读取/写入外部定义的css类的元素的值?

ris*_*ism 2 javascript css jquery class

我在html文件中有一个div,定义如下:

<div id="rangeTabAll"></div> 
Run Code Online (Sandbox Code Playgroud)

在外部定义的样式表中,我定义了以下样式.

#rangeTabAll{
    top:45px;
    left:124px;
    width:186px;
    height:114px;
    display:none;
    background:#ffffff url(../images/rangetab0.jpg) no-repeat;
}
Run Code Online (Sandbox Code Playgroud)

我如何使用jQuery读/写背景值?该

$('#rangeTabAll').css('background')
Run Code Online (Sandbox Code Playgroud)

方法不会工作,因为它不是内联样式.和

$('#rangeTabAll').attr('class') 
Run Code Online (Sandbox Code Playgroud)

未定义.

我可以用javascript做到这一点很简单,但我想知道它是如何通过jQuery完成的.

Bli*_*ixt 6

background是扩大到所有不同的"神奇" CSS属性background-*的属性,如background-image,background-color,background-repeat...

要在jQuery中获取它们,您可以调用$('#rangeTabAll').css('backgroundColor')等等.注意camelCase而不是用破折号分隔单词.

我刚刚注意到jQuery background-colorbackgroundColor为你转换为等等,所以你不必担心.你也可以这样做$('#rangeTabAll').css('background-color').

  • 请注意,JavaScript中的相对路径是相对于当前文档的,而CSS中的相对路径是相对于样式表路径的.因此,如果您只是重复使用样式表中的路径,则可能会尝试从错误的文件夹中获取图像.但正如您所看到的,JavaScript可以运行.它将值设置为您想要的值.对代码没有什么可以做的,使它更好地工作.错误发生在图像路径或CSS中(隐藏/覆盖背景的东西). (2认同)