2009-12-03 56 views

回答

29

innerText(或text()如果您使用jQuery)不包含任何HTML標記。所以,如果你有這樣的包含一個div:

View my <a href="profile.html">profile</a> 

innerText/text()將返回

View my profile 

html()將返回

View my <a href="profile.html">profile</a> 

由於dcneiner指出html()/text()是jQuery的屬性(並支持跨瀏覽器),而innerText不是由所有瀏覽器實現(儘管我t適用於最新版本的IE,Safari和Chrome)。

基本上你會想盡可能使用text()而不是innerText。看dcneiner's post(或jQuery docs)一些其他的東西,使text()真棒。

+5

「innerText」是IE瀏覽器唯一屬性,與jQuery無關的事實意味着什麼? :) – 2009-12-03 00:53:22

+0

偉大的例子克里斯。 +1 – 2009-12-03 01:08:18

+0

非常好的點dcneiner,更新後反映:)。 – 2009-12-03 01:10:30

11

區別在於innerText是DOM對象上唯一的IE屬性,html()是jQuery對象的函數。

但是,如果你是比較text()html()然後不同的是,text()條從一個元素的內容全部HTML返回之前和html()包括包括HTML。

此外,text()將返回所有匹配元素的文本,一起將它們連接起來:

<span>Hi, </span><span>how are </span><span>you?</span> 

$("span").text(); // returns: Hi, how are you? 

html()將只返回第一個匹配的項目innerHTML屬性:

$("span").html(); // returns: Hi, 

最後一個很酷的東西,是.text()自動轉義所有的HTML:

$("span:first").text('<a>Hi</a>'); // writes &lt;a&gt;Hi&lt;/a&gt;