js批量設置元素的樣式,js設置樣式有幾種方式

本文目錄一覽:

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

發現

Google

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

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/188301.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-28 13:29
下一篇 2024-11-28 13:29

相關推薦

  • Python遍歷集合中的元素

    本文將從多個方面詳細闡述Python遍歷集合中的元素方法。 一、for循環遍歷集合 Python中,使用for循環可以遍歷集合中的每個元素,代碼如下: my_set = {1, 2…

    編程 2025-04-29
  • Python列表中大於某數的元素處理方法

    本文將會介紹如何在Python列表中找到大於某數的元素,並對其進行進一步的處理。 一、查找大於某數的元素 要查找Python列表中大於某數的元素,可以使用列表推導式進行處理。 nu…

    編程 2025-04-29
  • 如何使用HTML修改layui內部樣式影響全局

    如果您想要使用layui來構建一個美觀的網站或應用,您可能需要使用一些自定義CSS來修改layui內部組件的樣式。然而,修改layui組件的樣式可能會對整個頁面產生影響,甚至可能破…

    編程 2025-04-29
  • Python Set元素用法介紹

    Set是Python編程語言中擁有一系列獨特屬性及特點的數據類型之一。它可以存儲無序且唯一的數據元素,這使得Set在數據處理中非常有用。Set能夠進行交、並、差集等操作,也可以用於…

    編程 2025-04-29
  • Python數據類型分為哪幾種

    Python作為一門非常靈活的編程語言,有着非常豐富的數據類型。Python的數據類型可以分為數字類型、字符串類型、列表類型、元組類型、字典類型和集合類型六種。 一、數字類型 Py…

    編程 2025-04-29
  • Python編程實現列表元素逆序存放

    本文將從以下幾個方面對Python編程實現列表元素逆序存放做詳細闡述: 一、實現思路 一般來說,使用Python將列表元素逆序存放可以通過以下幾個步驟實現: 1. 定義一個列表 2…

    編程 2025-04-29
  • Python集合加入元素

    Python中的集合是一種無序且元素唯一的集合類型。集合中的元素可以是數字、字符串、甚至是其他集合類型。在本文中,我們將從多個方面來探討如何向Python集合中加入元素。 一、使用…

    編程 2025-04-29
  • Java創建一個有10萬個元素的數組

    本文將從以下方面對Java創建一個有10萬個元素的數組進行詳細闡述: 一、基本介紹 Java是一種面向對象的編程語言,其強大的數組功能可以支持創建大規模的多維數組以及各種複雜的數據…

    編程 2025-04-28
  • 如何在谷歌中定位系統彈框元素

    本文將從以下幾個方面為大家介紹如何在谷歌中準確地定位系統彈框元素。 一、利用開發者工具 在使用谷歌瀏覽器時,我們可以通過它自帶的開發者工具來定位系統彈框元素。 首先,我們可以按下F…

    編程 2025-04-28
  • Java批量執行SQL時Communications Link Failure Socket is Closed問題解決辦法

    對於Java開發人員來說,批量執行SQL是一個經常會遇到的問題。但是,有時候我們會遇到「Communications link failure socket is closed」這…

    編程 2025-04-28

發表回復

登錄後才能評論