首页 > 编程知识 正文

原生js给元素添加样式,js给dom元素添加样式

时间:2024-03-07 18:23:11 阅读:331483 作者:WAQG

本文目录一览:

怎样通过JS来为网页元素添加CSS样式

例如改变背景色:

div id="changeColor"使用JS改变背景色/div

script

var cc = document.getElementById("changeColor");

cc.style.backgoundColor="#000"; //将背景色改为黑色

cc.style.fontSize="20px"; // 将文字大小改为20px,等号右边也可以写为20+"px"

cc.style.color="#fff"; //将文字颜色改为白色

/script

以此类推即可

JS里添加样式

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鼠标经过的处理。

用JavaScript给所有相同的class添加CSS样式。

!doctype html

html lang="en"

 head

  meta charset="UTF-8"

  meta name="Generator" content="EditPlus®"

  meta name="Author" content=""

  meta name="Keywords" content=""

  meta name="Description" content=""

  titleDocument/title

 /head

 body

 div id="container" style="width: 480px; height: 220px;border:1px solid #e3e3e3;" onclick="renderLink();"

    a href="#" class="mya"Test1/a

    a href="#"Test2/a

    a href="#" class="mya"Test3/a

    a href="#" class="mya"Test4/a

    a href="#" class="mya"Test5/a

    a href="#"Test6/a

 /div

 /body

/html

script type="text/javascript"

    function renderLink(){

        var alist = document.getElementsByClassName("mya");

        if(alist){

            for(var idx = 0; idx  alist.length; idx ++){

                var mya = alist[idx];

                mya.style.color = "red";

                mya.style.fontSize = "36px";

            }

        }

    }

  /script

先用document.getElementsByClassName("className")取得所有class为className的元素,再循环添加样式即可,如果用JQuery会简单很多;也可以自己用JS封装一个函数实现JQuery一样的效果

如何用javascript为元素添加class?

以给 body 标签添加 class 为例

通过 jQuery

$( 'body').addClass( 'class1 class2' );

$( 'body' ).removeClass( 'class1 class2' );

支持 classList 的高级浏览器(IE10+,Chrome,Firefox,Safari)

document.body.classList.add( 'class1', 'class2' );

document.body.classList.remove( 'class1', 'class2' );

不支持 classList 的浏览器只能通过 className 来添加

document.body.className += ' cl

[1]直接把样式赋值给className

var odiv=document.getElementById('div1');

odiv.className= div3

//这样我们会得到 class ="div3" 会直接把div2样式给覆盖掉;

[2]使用累加赋值给className

var odiv=document.getElementById('div1');

odiv.className+=" "+div3  //样式和样式之间需要空隙 ,所以加个空字符串隔开

//这样可以得到 class="div2 div3" 可以正常增加,但是我们在添加样式的时候我们得考虑下他本身之前有没有同名的样式,如果有我们添加的话就会变成累赘 比如class="div2 div3 div3";

[3]检测样式原先之前是否有相同的样式

var odiv=document.getElementById('div1'); 

function hasClass(element,csName){

element.className.match(RegExp('(\s|^)'+csName+'(\s|$)')); //使用正则检测是否有相同的样式

}

[4]在[3]的基础上我们就可以进行判断性给元素添加样式了 

var odiv=document.getElementById('div1'); 

function hasClass(element,csName){

return  element.className.match(RegExp('(\s|^)'+csName+'(\s|$)')); //使用正则检测是否有相同的样式

} 

function addClass(element,csName){

if(!hasClass(element,csName)){

element.className+=' '+csName;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。