0

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

例如

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

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

4

4 回答 4

1

该代码修改元素的内联样式属性。它根本不会触及您的 css 文件。

您的选择器将查找带有id = main和 set的元素style.backgroundColor = '#eee'

于 2012-06-28T18:32:59.930 回答
1

JavaScript 在计算的 DOM 元素上进行操作,而不是无论如何修改样式表本身。据我所知,jQuery 函数会将 CSS 置于与将其设置在元素本身上的等效级别,即:

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

这是 CSS 中最高级别的定位,将覆盖任何其他定位该元素的内容(例如外部样式表)。

于 2012-06-28T18:34:31.617 回答
0

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

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

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

于 2012-06-28T18:32:34.910 回答
0

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

于 2012-06-28T18:50:40.873 回答