狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

Javascript修改元素的class幾種實踐

admin
2023年9月20日 17:18 本文熱度 664

前言

js修改元素class可以說的上是老生常談的問題了,也經常被認為是基礎中的基礎,甚至不是前端都可以寫出這個功能。

今天俺跟大家總結總結修改元素class的幾種實踐方法。

現代瀏覽器

現代瀏覽器classList優化過,它提供了一些方法,并且不依賴任何框架和插件:

document.getElementById("MyElement").classList.add('MyClass');
document.getElementById("MyElement").classList.remove('MyClass');
if ( document.getElementById("MyElement").classList.contains('MyClass') )
document.getElementById("MyElement").classList.toggle('MyClass');

不幸的是,在IE10之前的版本不支持該方法,IE8和IE9可以通過第三方庫來支持該方法。瀏覽器支持情況,可以查閱MDN鏈接

通用跨瀏覽器解決方案

選擇元素的標準Javascript方法是使用document.getElementById(“Id”),下面為大家總結一些常見的操作方法。

改變元素的所有class

要使用一個或多個class替換掉顯有的class,可以這樣寫:

/**
 * 時間:2019年8月12日
 * 前端教程: https://www.pipipi.net/
 */
document.getElementById("MyElement").className = "MyClass";//單個class  
document.getElementById("MyElement").className = "MyClass1 MyClass2";//多個class

如果需要添加多個class可以以空格分隔。

為元素添加額外一個class

要在不刪除/影響現有值的情況下向元素添加類,請添加空格和新類名,如下所示:

/**
 * 時間:2019年8月12日
 * 前端教程: https://www.pipipi.net/
 */
document.getElementById("MyElement").className += " MyClass";

從元素中刪除class

要將單個類移除到元素而不影響其他可能的類,需要使用正則表達式替換:

/**
 * 時間:2019年8月12日
 * 前端教程: https://www.pipipi.net/
 */
document.getElementById("MyElement").className = document.getElementById("MyElement").className.replace( /(?:^|\s)MyClass(?!\S)/g , '' )

檢查元素是否存在某個class

上面用于刪除類的相同正則表達式也可用于檢查特定類是否存在:

/**
 * 時間:2019年8月12日
 * 前端教程: https://www.pipipi.net/
 */
if ( document.getElementById("MyElement").className.match(/(?:^|\s)MyClass(?!\S)/) )

Javascript框架或插件

上面的代碼都是標準的Javascript,但通常的做法是使用frameworklibrary 來簡化常見任務,以及解決編寫代碼時可能沒有想到的修復錯誤和邊緣情況。

雖然有些人認為添加一個大約50 KB的框架來簡單地改變一個類是不合適的,如果你正在做大量的Javascript工作,或者任何可能有不尋常的跨瀏覽器行為的東西,那么插件還是非常值得一試的。

(非常粗略地說,library 是為特定任務設計的一組工具,而framework 通常包含多個庫并執行一整套職責。)

下面的示例展示了如何使用jQueyr,可能是最常用的Javascript庫(盡管還有其他值得研究的)。

(注意,$ 這里是jQuery對象。)

使用jQuery來操作元素class

使用jQuery可以明顯簡化我們的代碼,我們可以將下面的代碼與上面的代碼比較:

/**
 * 時間:2019年8月12日
 * 前端教程: https://www.pipipi.net/
 */
$('#MyElement').addClass('MyClass');
$('#MyElement').removeClass('MyClass');
if ( $('#MyElement').hasClass('MyClass') )



該文章在 2023/9/20 17:18:29 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved