js移除css样式文件

JavaScript010

js移除css样式文件,第1张

需求不是很明确,要是移除link进来的css文件的话。那就是先找到所有link标签,然后依次移除,代码如下:

var links = document.querySelectorAll('link')

for(var i in links){

links[i].parentNode.removeChild(links[i])

}

其实js很不好用的,一般都使用jquery来写,改变样式的话我会使用两种方法

使用jquery中的.css()函数改变样式,这中方法很好用,可以在触发事件的时候任意操作某个元素的样式。

自定义一个class名字,比如.yangshi{} ,在触发的事件里使用 .addclass()和.removeClass() 两个函数添加或者删除某一个class类。达到切换样式的目的,这种方法比较清晰有条理。下面给出我写的一段jquery 代码。 这个的意思是,.box元素的鼠标进入会添加一个class类yangshi,离开的时候会删除这个class类

<script>

$(function(){

    $(".box").mouseover(function(){

        $(this).addClass("yangshi")

    })

    $(".box").mouseout(function(){

        $(this).removeClass("yangshi")

    })

})   

</script>

语法:元素.style.样式名=样式值

注意:如果CSS的样式名中含有-,这种名称在JS中是不合法的,比如 background-color 。需要将这种样式名修改为驼峰命名法:去掉-,然后将-后的第一个字母大写,比如 backgroundColor

我们通过style属性设置的样式都是内联样式,而内联样式有较高的优先级,所以通过JS修改的样式往往会立即显示

但是如果在样式中写了!important,则此时样式会有最高的优先级,即使通过JS也不能覆盖该样式,此时将会导致JS修改样式失效

所以尽量不要为样式添加!important

语法:元素.style.样式名

通过style属性设置和读取的都是内联样式,无法读取样式表中的样式

语法:元素.currentStyle.样式名

如果当前元素没有设置该样式,则获取它的默认值

例如: box1.currentStyle.width

这个方法是window的方法,可以直接使用需要两个参数

第一个:要获取样式的元素

第二个:可以传递一个伪元素,一般都传null

该方法会返回一个对象,对象中封装了当前元素对应的样式

可以通过对象﹒样式名来读取样式

如果获取的 样式没有设置 ,则会获取到真实的值,而不是默认值

比如:没有设置width,它不会获取到auto,而是 一个长度

注意:通过currentStyle和getComputedstyle()读取到的样式都是只读的,不能修改,如果要修改必须通过style属性

参数:

obj 要获取样式的元素

name 要获取的样式名