JS里添加样式

JavaScript012

JS里添加样式,第1张

JS里添加样式的方法:

1、首先,要创建标签,使用document.createElement函数,如图创建div标签。使用其className设置class,id设置id,style设置样式。

2、样式的设置也可以分项进行。如图是分项设置其left,top,display,position,width几个样式。

3、通过设置标签的innerHTML属性可以直接给其添加子标签以及子标签的样式。当然,也可以分项分层添加标签。

4、设置好标签(如图是div标签,变量名box),使用document.body.appendChild添加标签到body当中。

5、标签添加以后,依然可以修改样式,如图是使用document.getElementById方法根据id获取标签,修改style。

6、标签添加以后,也可以给其添加和删除event处理。如图是使用jQuery给id为img-preview-box的标签添加hover鼠标经过的处理。

通过节点的style属性添加

1、定义一个节点

<div id='tsdiv'></div>

2、获取div节点

var domdiv = document.getElementById('tsdiv')//通过document.getElementById获取dom节点

3、添加style

div.style.display = 'none'//添加style属性,设置display样式为none

思路

1、通过cssText的方式进行拼接。

2、通过设置class,累加设置class的方式进行。

代码示例

1、第一种方式可以用下面函数,el表示dom节点,strCss表示要设置的样式

function setStyle(el, strCss){

    function endsWith(str, suffix) {

        var l = str.length - suffix.length

        return l >= 0 && str.indexOf(suffix, l) == l

    }

    var sty = el.style,

        cssText = sty.cssText

    if(!endsWith(cssText, '')){

        cssText += ''

    }

    sty.cssText = cssText + strCss

} 2、第二种方式把样式定义成class,element表示dom节点,value表示class名称

function addClass(element,value){  

if(!element.className){            

element.className=value

}else{

newClassName=element.className

newClassName+=""

newClassName+=value

element.className=newClassName

}

}