2015-06-11 50 views
-4

为什么我们不能使用text属性来更改元素,而是我们必须使用innerHTML属性?为什么我们不能使用text属性来更改元素?

它不工作:

h1.text = "The Title"; 

而且它的工作原理:

h1.innerHTML = "The title"; //It's worked; 
+0

我推荐学习javascript和DOM的基础知识,没有任何框架(如JQuery)。 – jazZRo

+0

谢谢你的建议。 –

回答

2

你误用jQuery的API的原生DOM API。


设置文本

jQuery的

$elem.text("foo"); 

DOM API

elem.textContent = "foo"; 

设置HTML

jQuery的

$elem.html("<p>foo</p>"); 

DOM API

elem.innerHTML = '<p>foo</p>'; 

使用DOM API,你也可以使用一个textNode添加文本的元素。

var p = document.createElement("p"); 
var text = document.createTextNode("foo"); 
p.appendChild(text); 
//=> <p>foo</p> 
+0

谢谢。为什么我可以在chrome dev中运行:h1.text =“The Title”,并获取一个字符串值。 –

+0

@GeXiaoxiong当你做'var a = {}; a.text =“title”;'返回值是'“title”'。这并不意味着Chrome实际上正在设置'h1'元素的textContent;这只是javascript赋值表达式的返回值。 – naomik

+0

清除!谢谢。 –

0

“的.text”在JavaScript中不支持,但在JS

和jQuery库无属性都呼吁HTML(申辩)运行的JavaScript

的innerHTML的funtion

HERE你可以得到基本的知识约DOM

0

你会使用这个h1.innerHTML = "Hello world!"如果您正在使用AJ avascript。否则$("h1").text("Hello world!");如果你使用JQuery。

+0

jQuery ___是JavaScript。不,'innerHTML'和'.text()'不是那么可比的。 – Cerbrus

+0

对不起。一个JQuery库。 –

+1

不完全正确... jQuery是一个JavaScript库。 – Cerbrus

相关问题