原生js給元素添加樣式,js給dom元素添加樣式

本文目錄一覽:

怎樣通過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;

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-25 14:06
下一篇 2024-12-25 14:06

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-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將列表元素逆序存放可以通過以下幾個步驟實現: 1. 定義一個列表 2…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • Node.js使用Body-Parser處理HTTP POST請求時,特殊字符無法返回的解決方法

    本文將解決Node.js使用Body-Parser處理HTTP POST請求時,特殊字符無法返回的問題。同時,給出一些相關示例代碼,以幫助讀者更好的理解並處理這個問題。 一、問題解…

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

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

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

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

    編程 2025-04-28

發表回復

登錄後才能評論