Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 亚洲国产精久久久久久久,女同视频一区二区在线观看,国产午夜亚洲精品不卡电影

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          8個javascript獲取元素的方法

          我們的日常前端開發工作中,經常會用到javascript技術,那么javascript獲取元素的方法有哪些,大家都知道嗎?目前獲取元素屬性的方法中最常見的有8個,包括innerHTML、outerHTML、innerText 、outerText、value、text()、html(),val(),讓我們分別了解下應用方法吧。

          1、innerHTML 屬性

          在讀模式下,innerHTML屬性返回與調用元素的所有子節點(包括元素、注釋和文本節點)對應的 HTML 標記。在寫模式下,innerHTML 會根據指定的值創建新的 DOM 樹,然后用這個 DOM 樹完全替換調用元素原先的所有子節點。下面是一個例子:

          對于上面的元素來說,它的 innerHTML 屬性會返回如下字符串。

          2、outerHTML 屬性

          在讀模式下,outerHTML 返回調用它的元素及所有子節點的 HTML 標簽。在寫模式下,outerHTML 會根據指定的 HTML 字符串創建新的 DOM 子樹完全替換調用元素。下面是一個例子。

          如果在元素上調用 outerHTML,會返回與上面相同的代碼,包括本身。使用 outerHTML 屬性以下面這種方式設置值:

          這行代碼完成的操作與下面這些 DOM 腳本代碼一樣:

          結果,就是新創建的元素會取代 DOM 樹中的元素。

          replaceChild() 方法用新節點替換某個子節點。

          語法:

          3、innerText 屬性

          通過 innerText 屬性可以操作元素中包含的所有文本內容,包括子文檔樹中的文本。在通過 innerText 讀取值時,它會按照由淺入深的順序,將子文檔樹中的所有文本拼接起來。在通過 innerText 寫入值時,結果會刪除元素的所有子節點,插入包含相應文本值的文本節點。下面是一個例子:

          對于這個例子中的元素而言,其中 innerText 屬性會返回下列字符串:

          使用 innerText 屬性設置這個元素內容,則只需一行代碼:

          執行這行代碼后,頁面的 HTML 代碼就會變成如下所示:

          設置 innerText 屬性移除了先前存在的所有子節點,完全改變了 DOM 樹。設置 innerText 永遠只會生成當前節點的一個子文本節點,而為了確保只生成一個字文本節點,就必須要對文本進行 HTML 編碼。利用這一點,可以通過 innerText 屬性過濾掉 HTML 標簽。方法是將 innerText 設置等于 innerText,這樣就可以去掉所有 HTML 標簽,比如:

          執行這行代碼后,就用原來的文本內容替換了容器元素中的所有內容(包括子節點,因而也就去掉了 HTML 標簽)。舉個栗子:

          輸出:

          4、outerText 屬性

          除了作用范圍擴大到了包含 調用它的節點之外,outerText 與innerText 基本上沒有多大區別。在讀取文本值時,outerText 與 innerText 的結果完全一樣。但在寫模式下,outerText 就完全不同了:outerText 不只是替換調用它的元素的子節點,而是會替換整個元素(包括子節點)。比如:

          這行代碼實際上相當于如下兩行代碼:

          本質上,新的文本節點會完全取代調用 outerText 的元素。此后,該元素就從文檔中被刪除,無法訪問。

          5、value 屬性

          屬性可設置或返回密碼域的默認值。獲取文本框的值。

          6、text()

          設置或者獲取所選元素的文本內容

          1)無參text():取得所有匹配元素的內容。結果是由所有匹配元素包含的文本內容組合起來的文本。返回的是一個String。

          2)有參text(val):設置所有匹配元素的文本內容,與 html() 類似, 但將編碼 HTML (將 “<” 和 “>” 替換成相應的HTML實體).返回一個jquery對象。

          7、html():

          設置或者獲取所選元素的內容(包括html標記)

          1)無參html():取得第一個匹配元素的html內容。這個函數不能用于XML文檔。但可以用于XHTML文檔,返回的是一個String。

          2)有參html(val):設置每一個匹配元素的html內容。這個函數不能用于XML文檔。但可以用于XHTML文檔。返回一個jquery對象。

          8、val()方法

          主要用于獲取表單元素的值如input, select 和 textarea。當在一個空集合上調用,它返回undefined;1)無參 val():獲取匹配的元素集合中第一個元素的當前值。例子:HTML代碼:

          控制臺輸出:

          2)有參val(val):設置每一個匹配元素的值。返回一個jquery對象。

          大家對以上的8個javascript獲取元素的方法是否有了一些了解呢?根據獲取元素方法的不同,所應用的場景也不相同。想要熟練地使用這8種方法,就需要了解它們各個特征。更多關于前端培訓的問題,歡迎咨詢云和數據官網。云和數據擁有多年IT培訓服務經驗,采用全程面授高品質、高體驗培養模式,擁有國內一體化教學管理及學員服務,助力更多學員實現高薪夢

          實際開發當中,我們經常會遇到類似諸如下面的需求:

          1. 獲取滿足特定條件的數組中的所有項目
          2. 要檢查是否滿足條件?
          3. 檢查數組中是否有特定值?
          4. 在數組中找到指定值的索引?

          在本文中,我們將討論四種可用于搜索數組中項目的方法。這些方法是:

          1. filter
          2. find
          3. includes
          4. indexOf

          接下來,我們就一起來看一下這四種方式

          Array.filter()

          我們可以使用 Array.filter() 方法在數組中查找滿足特定條件的元素。

          例如,如果我們要獲取大于10的數字數組中的所有項目,則可以執行以下操作:

          const array = [10, 11, 3, 20, 5];
          
          const greaterThanTen = array.filter(element => element > 10);
          
          console.log(greaterThanTen) //[11, 20]

          使用 array.filter() 方法的語法如下:

          let newArray = array.filter(callback);

          著這里:

          • newArray是返回的新數組
          • array 是我們要進行查找的數組本身
          • callback 是應用于數組每個元素的回調函數

          如果數組中沒有項目符合條件,則返回一個空數組。

          有時,我們不需要滿足特定條件的所有元素。我們只需要一個符合條件的元素。在這種情況下,需要使用find()方法。

          Array.find()

          使用 Array.find()方法查找滿足特定條件的第一個元素。就像 filter 方法一樣,它以回調為參數,并返回滿足回調條件的第一個元素。

          我們嘗試一下在上面的示例中對數組使用 find 方法。

          const array = [10, 11, 3, 20, 5];
          
          const greaterThanTen = array.find(element => element > 10);
          
          console.log(greaterThanTen)//11

          array.find() 的語法為

          let element = array.find(callback);

          callback 是在數組中的每個值上執行的函數,帶有三個參數:

          • element -當前被遍歷的元素(必填)
          • index -當前遍歷的元素的索引/位置(可選)
          • array- 當前數組(可選)

          但是請注意,如果數組中沒有項目符合條件,則返回 undefined。

          但是,如果想檢查某個元素是否在數組中怎么辦?

          Array.includes()

          includes() 方法確定數組是否包含某個值,并在適當時返回 true 或 false。

          因此,在上面的示例中,如果我們要檢查20是否為數組中的元素之一,則可以執行以下操作:

          const array = [10, 11, 3, 20, 5];
          
          const includesTwenty = array.includes(20);
          
          console.log(includesTwenty)//true

          你會注意到此方法與其他方法之間的區別。此方法接受值而不是回調作為參數。這是 include 方法的語法:

          const includesValue = array.includes(valueToFind, fromIndex)
          • valueToFind 是要在數組中檢查的值(必填)
          • fromIndex 是要開始從中搜索元素的數組中的索引或位置(可選)

          要了解索引的概念,讓我們再次使用上面的示例。

          如果要檢查數組是否在第一個元素之外的其他位置包含10個,可以執行如下操作:

          const array = [10, 11, 3, 20, 5];
          
          const includesTenTwice = array.includes(10, 1);
          
          console.log(includesTenTwice)//false

          Array.indexOf()

          indexOf() 方法返回可以在數組中找到給定元素的第一個索引。如果數組中不存在該元素,則返回 -1。

          回到例子。讓我們找到數組中 3 的索引。

          const array = [10, 11, 3, 20, 5];
          
          const indexOfThree = array.indexOf(3);
          
          console.log(indexOfThree)//2

          其語法類似于該 includes 方法的語法。

          const indexOfElement = array.indexOf(element, fromIndex)
          • element 是要在數組中檢查的元素(必填),并且
          • fromIndex 是要從數組中搜索元素的啟始索引或位置(可選)

          請務必注意,includes 和 indexOf 方法都使用嚴格的相等性('===')搜索數組。如果值的類型不同(例如4和'4'),它們將分別返回 false 和 -1。

          總結

          使用這些數組方法,無需使用 for 循環即可搜索數組。根據您的需求,您可以決定哪種方法最適合您的用例。

          以下是何時使用每種方法的摘要:

          • 如果你想找到在符合特定條件的陣列中的所有項目,使用 filter。
          • 如果你想檢查是否至少有一個項目符合特定的條件,請使用 find。
          • 如果你想檢查一個數組包含一個特定的值,請使用 includes。
          • 如果要在數組中查找特定項目的索引,請使用indexOf 。

          例1:

          <!DOCTYPE html>
          <html>
          <head>
          <title>新建網頁</title>
          <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
          <meta name="description" content="" />
          <meta name="keywords" content="" />
          </head>
          <body>
          <h2>獲得元素節點</h2>
          <p><input type="text" id="username" value="tom"></p>
          <p><input type="text" id="useremail" value="tom@163.com"></p>
          </body>
          </html>
          <script type="text/javascript">
          //② document.getElementsByTagName(tag標簽名稱)
          // 該方法會返回一個對象集合(無論對應的節點有幾個)
          var hh = document.getElementsByTagName('h2');
          console.log(hh);//對象集合 HTMLCollection[h2]
          //兩種方式 可以從對象集合中 獲得具體的一個元素節點對象
          console.log(hh[0]); //<h2>
          console.log(hh.item(0)); //<h2>
          var ipt = document.getElementsByTagName('input');
          console.log(ipt);//HTMLCollection[input#username 屬性(attribute)值 = "tom", input#useremail 屬性(attribute)值 = "tom@163.com"]
          console.log(ipt.item(1));
          </script>

          關于節點的獲取需待HTML加載完畢后, javascript代碼才能執行;

          為此可以使用DOM1事件機制、window.onload語句、將javascript語句放在HTML語句最后;

          而DOM2事件機制(即事件監聽函數)要放在window.onload語句中, 或者放在HTML語句最后;

          實例2:


          主站蜘蛛池模板: 欧美日韩国产免费一区二区三区 | 国产萌白酱在线一区二区| 日本不卡一区二区视频a| 国产探花在线精品一区二区| 亚洲一区二区女搞男| 亚洲综合一区二区国产精品| 亚洲综合无码AV一区二区| 中文字幕av人妻少妇一区二区| 中文字幕一区在线观看视频| 2021国产精品视频一区| 久久青青草原一区二区| 日韩美女在线观看一区| 精品一区二区三区水蜜桃| 欧洲精品码一区二区三区免费看 | 精品人妻系列无码一区二区三区| 2022年亚洲午夜一区二区福利 | 色综合视频一区二区三区44| 国产精品久久久久久麻豆一区 | 无码aⅴ精品一区二区三区| 国产在线精品一区二区中文| 国产无吗一区二区三区在线欢| 精品亚洲AV无码一区二区三区| 亚洲无线码一区二区三区| 日韩AV在线不卡一区二区三区| 精品无码人妻一区二区三区不卡| 国产精品无码一区二区三区在| 国产精品视频一区二区三区不卡| 狠狠色成人一区二区三区| 97久久精品无码一区二区 | 波多野结衣的AV一区二区三区| 久久国产免费一区| 久久蜜桃精品一区二区三区| 国产不卡视频一区二区三区| 国产一区二区中文字幕| 美女视频一区三区网站在线观看| 国产丝袜一区二区三区在线观看| 国偷自产一区二区免费视频| 国模无码视频一区二区三区| 精品国产一区二区三区色欲| 夜夜添无码一区二区三区| 亚洲AⅤ无码一区二区三区在线|