jQuery

jQuery 知识量:7 - 32 - 105

4.1 动态修改元素样式><

.css()函数- 4.1.1 -

通常情况下,DOM元素的样式由CSS事先定义好,如果要修改样式,可以通过使用.removeClass()方法和.addClass()方法直接删除或添加元素的类来实现。但是如果要修改的样式事先没有定义或者想获取元素的样式属性值,可以使用jQuery的.css()方法。

.css()方法集成了getter(获取)和setter(设置)功能。

获取CSS属性- 4.1.2 -

如果想获取某一个元素样式的属性值,那么就向它传递一个字符串形式的属性名,会得到一个对应的属性值。

$(document).ready(function () {
    var fontSizeOfA = $('a').css('font-size');
});

以上代码中,先是找到链接a,向其.css()方法中传递了一个名为“font-size”的字符串,意思是获取a的字体大小,然后将获取的字体大小值赋值给变量fontSizeOfA 。

其中参数“font-size”是CSS中的标准写法,对于多个单词构成的属性名,在jQuery中也可以使用驼峰大小写格式“fontSize”。但不论哪种写法,一般要加上引号。我还是推荐使用CSS标准写法,与CSS写法统一,不容易出错。

如果要获取多个样式属性值,那么就向它传递一个属性名构成的数组,会得到一个由属性名和属性值构成的对象。

$(document).ready(function () {
    var array = ['font-size', 'color'];
    var fontOfA = $('a').css(array);
});

以上代码中,先是定义了一个数组“array”,值分别是“font-size”和“color”,意思是获取字体大小和字体颜色。然后将这个数组作为参数传递给.css()方法,会得到一个由“font-size”和“color”键-值构成的对象。

JavaScript无法直接打印对象,为了能够查看实际效果可以使用.console.log()方法,将以上代码修改为:

$(document).ready(function () {
    var array = ['font-size', 'color'];
    var fontOfA = $('a').css(array);
    console.log(fontOfA);
});

打开浏览器的开发者工具功能(如果使用的是chrome浏览器,可以按F12快捷键),在控制台会看到类似以下数据:

console.jpg

设置CSS属性- 4.1.3 -

如果想设置(或修改)某一个元素样式的属性值,那么就向它传递一个属性名和对应的属性值。

$(document).ready(function () {
    $('a').css('font-size', '14px');
});

以上代码中,分别向.css()方法中传递了两个参数,一个是属性名“font-size”,一个是属性值“14px”,这样链接a的字体大小就被设置为14px。

如果想设置(或修改)多个样式属性值,那么就向它传递一个由属性名和属性值构成的对象。

$(document).ready(function () {
    var object = {
        'font-size': '14px',
        'color': '#000'
    };
    $('a').css(object);
});

以上代码中,先是定义了一个对象“object”,由“font-size”和“color”的键-值对构成,意思是设置字体大小为14px;设置字体颜色为黑色。然后将这个对象作为参数传递给.css()方法,这样就会同时设置链接a的字体大小和颜色。