.css()会改变HTML或外部样式表中的属性吗?

时间:2012-06-28 18:29:58

标签: jquery

新手jquery:如果属性包含在HTML中,或者它是否定位并随后从外部样式表(如果有的话)中更改元素,.css()函数是否会改变元素的css属性?

e.g。

$('#main').css('background-color', '#eee'); 

由于我的HTML中没有内联<style>标记,该函数是否会在链接的外部样式表中查找#main类?

4 个答案:

答案 0 :(得分:1)

该代码修改元素的内联样式属性。它没有触及你的所有css文件。

您的选择器会查找id = main的元素并设置style.backgroundColor = '#eee'

答案 1 :(得分:1)

JavaScript正在对计算出的DOM元素进行操作,而不是以任何方式修改样式表本身。据我所知,jQuery函数将CSS置于与元素本身相同的水平,即:

<div id="main" style="background-color: #eee;"></div>

这是CSS中最高级别的目标。将覆盖任何其他目标元素(例如外部样式表)。

答案 2 :(得分:0)

  

当使用.css()作为setter时,jQuery会修改元素的样式   属性。例如,$('#mydiv')。css('color','green')是等价的   to document.getElementById('mydiv')。style.color ='green'。

它设置元素的style属性,不触及外部样式表。

来源:http://api.jquery.com/css/#css2

答案 3 :(得分:0)

jQuery在客户端工作,因此它不能改变或更改服务器端的外部链接样式表。首先,它将根据您的选择器选择元素,然后将css样式内联。您可以在Firefox中使用Firebug来检查这些内联样式。我们通常使用.css()来改变css样式的运行时间。如果要在运行时应用链接的css样式表中的样式,可以创建一个类并使用addClass().

来应用它