2014-04-11 55 views
-5

一些或多個人使用html()方法獲取元素的文本,如<p>text</p>,並得到這個$('p').html()或或$('p').text()html()方法與text()方法

很明顯,我知道html方法和文本方法之間存在巨大差異。但我想了解更多這方面的信息,有什麼更好的使用?

有人可能會說文字方法比html方法好,請解釋一下爲什麼?

+1

沒有僅爲之一是更適合於解決*特定問題*比其他比其他「更好」,一個概念。如果你需要HTML,你顯然使用'.html()',如果你想要移除HTML,你顯然使用'.text()'。如果你能保證他們不管回到什麼地方都完全一樣,那麼這兩種方式都沒有關係。 –

回答

0

有供人們使用的時候以及爲什麼使用HTML和/或文本的方法,但我想告訴你的HTML喜好()方法比text()方法更快:

HTML方法只是innerHTML的一個包裝,但是使用文本方法jQuery添加了一個「實體過濾器」,並且此過濾器擴展了時間。

  • .text()可用於XML和HTML文檔。
  • .html()僅適用於html文檔。

See more info here

所以,你要使用哪一個?

+1

非常感謝@ C-link。 –

0

當你需要HTML格式/風格,而文本所呈現,那麼你應該使用html(),當你只需要文本,然後去text()

0

這些方法是從的TextContent/innerHTML的衍生..

$('#yourid').text() = document.getElementsByID('yourid')[0].textContent); 
hello <span> 

您應該使用.text()如果你想獲得的HTML沒有轉義字符..

$('#yourid').html() = document.getElementsByID('yourid')[0].innerHTML 
hello &lt;span&gt; 

如果您想設置HTML或獲取原始轉義HTML,您應該使用.html();

0

作爲每jQuery的說,
.text()方法的結果是一個包含所有匹配元素的組合的文本的字符串。

由於不同的瀏覽器的HTML解析器變化,
返回在新行和其他空白空間可能會發生變化的文本。

.text()方法不能在
形式輸入或腳本中使用。
從jQuery 1.4開始,.text()方法返回文本和CDATA節點以及元素節點的值。*

0

.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

0

jQuery提供2個功能文本()和HTML()何時使用text()函數以及何時使用html()函數是相當混亂的,因爲這兩個函數都是不同的並且用於不同的目的。

.html() - 此jQuery函數獲取/設置任何元素的HTML。 .text() - 這個jQuery函數獲取/設置任何元素的文本(innertext)。

What is the difference between jQuery: text() and html() ?