本文目录一览:
- 1、JS怎么设置一个元素的样式
- 2、用 js 给.class 批量修改css样式怎么写??
- 3、JS怎么批量修改子元素样式?
- 4、js中巧用cssText属性批量操作样式
- 5、js/jquery 批量修改样式
JS怎么设置一个元素的样式
document.getElementById("div1").className = "cc";
这是完全正确的。
如果没有达到你的效果,请检查其他的地方,而不是怀疑这里
用 js 给.class 批量修改css样式怎么写??
1、既然你都用了byClassName,说明他们都有同一个类名,你直接再css里面改这个类名的样式就行了。
2、你要用js修改,你修改的是内联样式,那你只有每一个用for循环来修改。
3、或者你可以就写一个新的公共样式,然后for循环给每一个你需要修改样式的标签用setAttribute("class",newClassName)就行了。将新的类名加上去去覆盖之前类的样式
JS怎么批量修改子元素样式?
!DOCTYPE html
html
head/head
body
div id="div1"
p1/p
p2/p
p3/p
a444/a
/div
script type="text/javascript"
Array.from(document.getElementById("div1").children).forEach(function(item){
item.style.background = "#ff0000";
})
/script
/body
/html
js中巧用cssText属性批量操作样式
给一个HTML元素设置css属性,如
复制代码
代码如下:
var
head=
document.getElementById("head");
head.style.width
=
"200px";
head.style.height
=
"70px";
head.style.display
=
"block";
这样写太罗嗦了,为了简单些写个工具函数,如
复制代码
代码如下:
function
setStyle(obj,css){
for(var
atr
in
css){
obj.style[atr]
=
css[atr];
}
}
var
head=
document.getElementById("head");
setStyle(head,{width:"200px",height:"70px",display:"block"})
发现
API
中使用了cssText属性,后在各浏览器中测试都通过了。一行代码即可,实在很妙。如
复制代码
代码如下:
var
head=
document.getElementById("head");
head.style.cssText="width:200px;height:70px;display:bolck";
和innerHTML一样,cssText很快捷且所有浏览器都支持。此外当批量操作样式时,cssText只需一次reflow,提高了页面渲染性能。
但cssText也有个缺点,会覆盖之前的样式。如
复制代码
代码如下:
div
style="color:red;"TEST/div
想给该div在添加个css属性width
复制代码
代码如下:
div.style.cssText
=
"width:200px;";
这时虽然width应用上了,但之前的color被覆盖丢失了。因此使用cssText时应该采用叠加的方式以保留原有的样式。
复制代码
代码如下:
function
setStyle(el,
strCss){
var
sty
=
el.style;
sty.cssText
=
sty.cssText
+
strCss;
}
使用该方法在IE9/Firefox/Safari/Chrome/Opera中没什么问题,但由于
IE6/7/8中cssText返回值少了分号
会让你失望。
因此对IE6/7/8还需单独处理下,如果cssText返回值没";"则补上
复制代码
代码如下:
function
setStyle(el,
strCss){
function
endsWith(str,
suffix)
{
var
l
=
str.length
-
suffix.length;
return
l
=
str.indexOf(suffix,
l)
==
l;
}
var
sty
=
el.style,
cssText
=
sty.cssText;
if(!endsWith(cssText,
';')){
cssText
+=
';';
}
sty.cssText
=
cssText
+
strCss;
}
相关:
js/jquery 批量修改样式
script
$(function(){
var aa = [{"id":1,"name":"yi"},{"id":4,"name":"si"},{"id":6,"name":"liu"},{"id":8,"name":"ba"},{"id":"a","name":"aaa"}];
var arr = [];
$.each(aa, function(i, n){
arr.push("" + n.id);
});
$("div p").each(function(){
var _id = $(this).attr("id");
if($.inArray(_id, arr) = 0) {
$(this).addClass("a");
}else{
$(this).addClass("b");
}
});
alert($(document.body).html()); //显示结果
});
/script
divp id="1"aa/div
divp id="2"aa/div
divp id="32"aa/div
divp id="44"aa/div
divp id="8"aa/div
divp id="13"aa/div
divp id="4"aa/div
divp id="11"aa/div
结果:
divp class="a" id="1"aa/p/div
divp class="b" id="2"aa/p/div
divp class="b" id="32"aa/p/div
divp class="b" id="44"aa/p/div
divp class="a" id="8"aa/p/div
divp class="b" id="13"aa/p/div
divp class="a" id="4"aa/p/div
divp class="b" id="11"aa/p/div