1. 程式人生 > >從零開始學 Web 之 DOM(三)innerText與innerHTML、自定義屬性

從零開始學 Web 之 DOM(三)innerText與innerHTML、自定義屬性

大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧!

一、相容程式碼

1、封裝 innerText 和 TextContent

// 設定任意標籤的文字內容為任意內容
        function setText(element, text) {
            (typeof element.TextContent === "undefined") ? (element.innerText = text) : (element.textContent = text);
        }

        // 獲取任意標籤的文字內容
        function getText(element) {
            return (typeof element.TextContent === "undefined" ? element.innerText : element.textContent);
        }

// 示例程式碼
        my$("btn").onclick = function () {
            setText(my$("dv"), "hahahhahha");
        };

        my$("btn").onclick = function () {
            console.log(getText(my$("dv")));
        };

1、設定成對標籤中文字內容:

innerText 屬性是 IE8 標準屬性,chrome,fireFox,IE8都支援。

textContent 是W3C標準屬性,chrome,firefox支援,IE8不支援。

2、獲取成對標籤中文字內容:

在 IE8 下使用 textContent 獲取成對標籤中文字內容,返回值為 undefined。

那麼說明,瀏覽器不支援的屬性的型別都為 undefined.

通過判斷元素有無 textContent 屬性(沒有則元素的 textContent 屬性為 undefined)來決定用 innerText 還是 textContent。

2、innerText 和 innerHTML

    <div id="dv">
        哈哈
        <p>p標籤</p>
    </div>

    <script src="common.js"></script>
    <script>
        my$("dv").innerText = "div標籤"; // 只顯示文字
        my$("dv").innerHTML = "div標籤"; // 只顯示文字

        my$("dv").innerText = "<a href='#'>a標籤</a>"; // 只顯示文字
        my$("dv").innerHTML = "<a href='#'>a標籤</a>"; // 帶有a標籤格式

        console.log(my$("dv").innerText); // 哈哈 p標籤
        console.log(my$("dv").innerHTML); // 哈哈 <p>p標籤</p>
    </script>

innerText 屬性:設定和獲取只能得到文字內容。

innerHTML 屬性:不僅可以獲得文字內容,還可以設定和獲取 html 標籤,讓其顯示或得到對應標籤的格式。

二、自定義屬性操作(設定,獲取,移除)

<p>p標籤</p>
<script src="common.js"></script>
<script>
      var pObj = document.getElementsByTagName("p")[0];
      pObj.setAttribute("hello", "world"); // <p hello="world">p標籤</p>
console.log(pObj.getAttribute("hello")); // world
</script>

1、標籤中自定義的屬性是不能通過DOM物件.屬性 的方式獲取的,因為這個屬性在DOM裡面不存在,強行獲取只能是 undefined。

2、相應的,設定也是一樣的,通過 DOM物件.屬性 的方式設定自定義標籤,結果設定的只是DOM物件的自定義屬性,這個自定義屬性不會在標籤上顯示出來。

獲取:通過DOM物件 .getAttibute("自定義屬性的名字") 來獲取自定義屬性的值。

設定:通過DOM物件 .setAttibute("自定義屬性的名字", "自定義屬性的值") 來設定自定義屬性。

移除:通過DOM物件 .removeAttibute("自定義屬性的名字") 來設定自定義屬性。

PS:removeAttibute 也可以用來移除元素自帶的屬性,比如類 class 屬性等。removeAttribute("class")

相關推薦

開始 Web DOMinnerTextinnerHTML定義屬性

大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 一、相容程式碼 1

開始 Web CSS連結偽類背景行高盒子模型浮動

大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 一、連結偽類 a:

開始 Web DOMDOM的概念,對標簽操作

關註 1.5 pan 什麽 tin p標簽 nod text == 大家好,這裏是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關註。在這裏我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,

開始 Web DOM節點

def clas scrip while p標簽 設置 ner 操作 text 大家好,這裏是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關註。在這裏我會從 Web 前端零基礎開始,一步步學習 Web 相

開始 Web DOM為元素繫結解綁事件

大家好,這裡是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... +------------------------------------------------------------ github:https://github.com/Daotin/Web 微信公眾號:Web前端之

開始 Web DOM對樣式的操作,獲取元素的方式

大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 1、對樣式的操作

開始 Web DOM元素的建立

大家好,這裡是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... +------------------------------------------------------------ github:https://github.com/Daotin/Web 微信公眾號:Web前端之

開始 Web DOM事件冒泡

>大家好,這裡是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... > +------------------------------------------------------------ > github:https://github.com/Dao

開始 Web DOMDOM的概念,對標籤操作

大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 一、DOM概念 D

開始 Web BOMoffset,scroll,變速動畫函數

樣式 清理 java mar dde sof mov har width 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔 博客園:

開始 Web AjaxAjax 概述,快速上手

lan 技術分享 php 概述 由於 val asc logs 更新 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔 博客園:ht

開始 Web ES6ES6基礎語法一

arr 方法 foreach reac 公眾 存在 lock 數組名 回調函數 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔 博

開始 Web jQuery元素操作,鏈式程式設計,動畫方法

一、使用css操作元素樣式 1、常規寫法 $("#dv").css("width", "200px"); $("#dv").css("height", "100px"); $("#dv").css("background", "red"); 2、鏈式寫法 $("#dv").css("width", "20

開始 Web BOMoffset,scroll,變速動畫函式

一、直接使用 document 獲取的元素 // 獲取 body document.body; // 獲取 title document.title; // 獲取的是 title 中的值 // 獲取 html document.documentElement; 1、案例:圖片跟著滑鼠移動 <!DOC

開始 Web HTML5網路監聽,全屏,檔案讀取,地理定位介面,應用程式快取

一、網路監聽介面 ononline:網路連通時觸發 onoffline:網路斷開時觸發 window.addEventListener("online", function(){}); window.addEventListener("offline", function(){}); 二、全屏介面 全

開始 Web CSS3漸變,background屬性

一、漸變 漸變是CSS3當中比較豐富多彩的一個特性,通過漸變我們可以實現許多炫麗的效果,有效的減少圖片的使用數量,並且具有很強的適應性和可擴充套件性。可分為線性漸變、徑向漸變。 1、線性漸變 線性漸變:指沿著某條直線朝一個方向產生漸變效果。 語法: background: linear-gradient(

開始 Web HTML表單

大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 一、表格 1

開始 Web CSSCSS初始化定位overflow標籤規範

大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 一、CSS初始化

開始 Web JavaScript函式

大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 一、函式 1、函式

開始 Web jQuery獲取和操作元素的屬性

eight images idt 隱藏 lis 屬性 ner master lin 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔