知道這兩個 DOM 屬性區別的,頭髮應該不多了吧?

2022-01-09 20:31:48 字數 1682 閱讀 4065

你可能知道,獲取和設定 dom 元素內部文字可以用這兩個屬性:node.textcontentelement.innertext

乍一看,它們似乎做著完全相同的事情,但它們之間有一些微妙但重要的區別。今天,我們來看看它們的作用,以及它們的異同之處。

廢話不說,直接看**。

比如下面這個 dom 元素。

i love a good tuna sandwich!

node.textcontentelement.innertext屬性都能獲取#sandwich元素內部的文字。

let sandwich = document.queryselector('#sandwich');

// returns "i love a good tuna sandwich!"

let text1 = sandwich.textcontent;

// also returns "i love a good tuna sandwich!"

let text2 = sandwich.innertext;

如果元素內部還有其他標籤,它們都會忽略。

i love a goodtunasandwich!

// returns "i love a good tuna sandwich!"

let texthtml1 = sandwich.textcontent;

// also returns "i love a good tuna sandwich!"

let texthtml2 = sandwich.innertext;

另外,這兩個屬性都能用於設定元素內部文字。

// 替換文字

// hello, world!

sandwich.textcontent = 'hello, world!';

// 也可以追加

// hello, world! and hi, universe!

sandwich.innertext += ' and hi, universe!';

看上去做著同樣的事情,那麼它們有什麼區別?

舉個例子就清楚了。

this is not rendered.

hello world!

let greeting = document.queryselector('.greeting');

/* 返回

p this is not rendered.

hello world!

*/let text1 = greeting.textcontent;

// 返回 "hello world!"

let text2 = greeting.innertext;

這下總算知道區別了!又躺學了乙個知識點~

這兩個函式有錯嗎

public static string compressstring string input string str string.empty memorystream stream null gzipstream stream2 null trystr convert.tobase64strin...

AssertValid和Dump 這兩個函式的作用

assertvalid函式是用來判斷表示式的合法性或正確性,如果不正確或不合法則終止程式並返回相應的提示資訊 如assertvalid t 0 用來判斷t是否等於0,如果t 0則終止程式 dump函式一般用來顯示debug資訊的,其函式中的內容一般在debug時,在debug視窗中才能看到。cobj...

Oracle計算兩個整數的和與這兩個整數的差與商

pl sql procedural language sql 是一種過程化語言。pl sql都是以 block 塊為基本單位,整個pl sql塊分為三部分 1 宣告 declare 2 執行 以begin開頭 3 異常處理 以exception開頭 pl sql的語法格式如下 declare 宣告部...