JavaScript學習筆記4之 ByClass&json

来源:http://www.cnblogs.com/paulirish/archive/2016/08/21/5793313.html
-Advertisement-
Play Games

一、通過class獲取標簽 var out=document.getElementsByClassName(‘out’);IE 6 7 8 不支持 getElementsName 是否有辦法既能通過class獲取標簽又沒有相容問題 ? 首先獲取全部的標簽, 用for迴圈遍歷到所有類名相同的標簽, 遍 ...


一、通過class獲取標簽

var out=document.getElementsByClassName(‘out’);
IE 6 7 8 不支持 getElementsName

是否有辦法既能通過class獲取標簽
又沒有相容問題 ?

首先獲取全部的標簽,

用for迴圈遍歷到所有類名相同的標簽,

遍歷的順序放到數組裡,

最後獲得一個有相同類名的數組。

兩種遍歷方法:

一種是全局遍歷的方法:只要類名相同的都放進數組

另一種是局部遍歷的方法,在局部遍歷相同的類。

實例如下:

頁面佈局:

 1 <div id="box1">
 2     <div class="con">
 3         <span>我是span標簽111</span>
 4     </div>
 5     <div class="con">
 6         <span>我是span標簽222</span>
 7     </div>
 8     <div class="con">
 9         <span>我是span標簽333</span>
10     </div>
11 </div>
12 <div id="box2">
13     <div class="con">
14         <span>我是span標簽444</span>
15     </div>
16     <div class="con">
17         <span>我是span標簽555</span>
18     </div>
19 </div>

全局獲取:

/*全局獲取*/
    function byClass1(oClass){//對於全局獲取封裝成函數
        var tags=document.all?document.all:document.getElementsByTagName('*');//獲取全部的標簽
        var arr=[];//創建數組
        for (var i = 0; i < tags.length; i++) {//for迴圈遍歷
            if (tags[i].className==oClass) {
                arr.push(tags[i]);//把類名相同的放在一個數組裡
            };
        };
        return arr;
    }
    var cons=byClass1('con');//調用全局函數,傳入參數(所要遍歷的類名)
    alert(cons.length);//測試
    alert(cons[3].innerHTML);//測試

局部獲取:

 1 /*局部獲取*/
 2     function byClass2(parentID,oClass){//對於局部獲取封裝成函數
 3         var parent=document.getElementById(parentID);//獲得局部的ID
 4         var tags=parent.all?parent.all:parent.getElementsByTagName('*');//不同處:獲取特定ID下的所有標簽
 5         var arr=[];
 6         for (var i = 0; i < tags.length; i++) {
 7             if (tags[i].className==oClass) {
 8                 arr.push(tags[i]);
 9             };
10         };
11         return arr;
12     }
13     var cons=byClass2('box1','con');//調用局部函數,傳入參數(特定的ID名,所要遍歷的類名)
14     alert(cons.length);//測試
15     alert(cons[2].innerHTML);//測試

二、json

json是一種輕量級的數據交換格式,是 JavaScript 原生格式,是理想的數據交換格式。

1、json對象
json對象以“{”開始 , 以“}”結束,每個“名稱”後跟一個“:”(冒號),‘名:值' 對 之間運用 “,”(逗號)分隔。
var json1={ 'name' : '小麗' , 'sex' : '女' , 'age' : '22' } ;

2、json字元串
所謂json字元串,是指該字元串變數的值與json的格式相同,但是不是json對象
var json2="{ 'name' : '小麗' , 'sex' : '女' , 'age' : '22' }" ;
3、json使用
var json1={ 'name' : '小麗' , 'sex' : '女' , 'age' : '22' } ;
alert( json1.name ); // 彈出 '小麗'
4、json字元串轉換為json對象
var json2="{ 'name' : '小麗' , 'sex' : '女' , 'age' : '22' }";
運用 eval( )函數轉換
例如:
var json3=eval( '('+json2+')' ) ;
alert( json3.name ); // 彈出 '小麗'
5、json迴圈
普通for迴圈
var arr=[2,4,6];
for (var i=0; i<arr.length; i++){
alert(arr[i]); //2 4 6
}
json迴圈只能用 for in
var jsn={‘a’:8,‘b’:8,‘c’:28};
for (var i in jsn){
alert(jsn[i]); //8 18 28
}
i → json的key , jsn[i] → 對應key的值


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.前言 前面講了一些關於python的一些基本的語法及語句,在這個地方繼續講python的方法及其python核心概念的面向對象。我們都知道python被稱為面向對象的語言,那麼在這裡我們將正式的接觸 的python的核心。 2.函數 定義:是可調用的,執行某種行為並返回一個值。判斷一個函數是否可 ...
  • 緩存集群管理 系統化管理資源、節點,統一緩存版本,開發人員無需關心底層基礎設施,簡化 運維複雜度,提供統一的系統化運維監控管理。 自動化運維部署平臺 應用監控 開源項目 總結 用自動代替人工; 用小系統驅動打團隊; 用基礎平臺支撐上層應用。 --------... ...
  • fsbanner是一款自定義功能豐富的響應式網站Banner手風琴特效jQuery插件。該手風琴特效相容性很好,支持點擊和滑鼠滑過等觸發事件,並且可添加標題或描述。 線上實例 使用方法 複製 複製 參數詳解 下載 ...
  • 工程下安裝XTemplate並使用它的方法實例說明: 1.安裝xtpl npm install xtpl xtemplate --save 2.在views目錄添加test.xtpl文件,其內容為 this is {{title}}! 4.集成到Express中,只需要在app.js中,設置模板引擎 ...
  • 第一次寫博,還蠻激動。。。 看到了三題經典題型,經老師講解後,對此類題目有了更深刻的認識 就我目前的認識對此題進行總結。如有錯誤,敬請指正 首先,我們先明確一下JS引擎的工作步驟: js引擎工作分為兩步: 1.將這個js中的變數和函數聲明保存到當前(註意,是當前)執行環境的變數對象中 2.再逐行解析 ...
  • 一、計時器 setInterval ( 函數/名稱 , 毫秒數 )表示每經過一定的毫秒後,執行一次相應的函數(重覆) setTimeout ( 函數/名稱 , 毫秒數 ) 表示經過一定的毫秒後,只執行一次相應的函數(不重覆) 清除計時器: clearInterval( ); clearTimeout ...
  • 我們經常使用地圖查位置、看公交、看街景,同時地圖還開放第三方的API給開發者。利用這些API進行地圖的個性化的展示和控制,例如北京被水淹了,開發一個網頁顯示北京被淹的地圖,地圖上面標誌被水淹的位置、嚴重程度,或者我是交警,想要在地圖上標誌發生車禍、被交通管制的路段,甚至是利用地圖的街景,控制街景的位 ...
  • 1、js中有六種基本類型,分別是object、number、string、Boolean、null、undefined,其中number、string、Boolean為基本類型,有時使用會強制轉換成對象,如:var s="cc";s.length;強制轉換成對象是臨時對象,設置後,會被銷毀掉,比如: ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...