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
}
}