一些或多個人使用html()方法獲取元素的文本,如<p>text</p>
,並得到這個$('p').html()
或或$('p').text()
。html()方法與text()方法
很明顯,我知道html方法和文本方法之間存在巨大差異。但我想了解更多這方面的信息,有什麼更好的使用?
有人可能會說文字方法比html方法好,請解釋一下爲什麼?
一些或多個人使用html()方法獲取元素的文本,如<p>text</p>
,並得到這個$('p').html()
或或$('p').text()
。html()方法與text()方法
很明顯,我知道html方法和文本方法之間存在巨大差異。但我想了解更多這方面的信息,有什麼更好的使用?
有人可能會說文字方法比html方法好,請解釋一下爲什麼?
有供人們使用的時候以及爲什麼使用HTML和/或文本的方法,但我想告訴你的HTML喜好()方法比text()方法更快:
HTML方法只是innerHTML的一個包裝,但是使用文本方法jQuery添加了一個「實體過濾器」,並且此過濾器擴展了時間。
所以,你要使用哪一個?
非常感謝@ C-link。 –
當你需要HTML格式/風格,而文本所呈現,那麼你應該使用html()
,當你只需要文本,然後去text()
這些方法是從的TextContent/innerHTML的衍生..
$('#yourid').text() = document.getElementsByID('yourid')[0].textContent);
hello <span>
您應該使用.text()
如果你想獲得的HTML沒有轉義字符..
$('#yourid').html() = document.getElementsByID('yourid')[0].innerHTML
hello <span>
如果您想設置HTML或獲取原始轉義HTML,您應該使用.html()
;
作爲每jQuery的說,
的.text()
方法的結果是一個包含所有匹配元素的組合的文本的字符串。
由於不同的瀏覽器的HTML解析器變化,
返回在新行和其他空白空間可能會發生變化的文本。
的.text()
方法不能在
形式輸入或腳本中使用。
從jQuery 1.4開始,.text()
方法返回文本和CDATA
節點以及元素節點的值。*
.text()
增加給定的表達式作爲文本,.html()
其添加到DOM作爲HTML表達
這裏是一個例子;
var str = '<strong>HELLO</strong>'
$("#addHere").text(str);
=>你會看到在#addHere
var str = '<strong>HELLO</strong>'
$("#addHere").html(str);
實際字符串
<strong>HELLO</strong>
=>你會看到一個大膽HELLO在#addHere
jQuery提供2個功能文本()和HTML()何時使用text()函數以及何時使用html()函數是相當混亂的,因爲這兩個函數都是不同的並且用於不同的目的。
.html() - 此jQuery函數獲取/設置任何元素的HTML。 .text() - 這個jQuery函數獲取/設置任何元素的文本(innertext)。
沒有僅爲之一是更適合於解決*特定問題*比其他比其他「更好」,一個概念。如果你需要HTML,你顯然使用'.html()',如果你想要移除HTML,你顯然使用'.text()'。如果你能保證他們不管回到什麼地方都完全一樣,那麼這兩種方式都沒有關係。 –