innerText和innerHTML
首先我要说一下,这两个都有获取值和赋予值的方法。
innerText();innerHTML();里面不传参数就是获取值。传参数就是赋予值。
以IE为测试对象。
首先我们说,赋值
innerText
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript">
//添加按钮点击事件
window.onload = function () {
document.getElementById("Button1").onclick = function () {
document.getElementById("dv").innerText = "<p>这是一个p</p>";
}
}
</script>
</head>
<body>
<input id="Button1" type="button" value="button" />
<div id="dv">
<p>嘿嘿</p>
</div>
</body>
</html>
打印出来是这样
下面是innerHTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript">
//添加按钮点击事件
window.onload = function () {
document.getElementById("Button1").onclick = function () {
document.getElementById("dv").innerHTML = "<p>这是一个p</p>";
}
}
</script>
</head>
<body>
<input id="Button1" type="button" value="button" />
<div id="dv">
<p>嘿嘿</p>
</div>
</body>
</html>
打印出来是这个
综上,我们会发现,再赋值的时候,innerHTML会自动过滤HTML标签,而innerText不会过滤标签。
其次,我们说一下取值
innerText
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript">
//添加按钮点击事件
window.onload = function () {
document.getElementById("Button1").onclick = function () {
var content = document.getElementById("dv");
alert(content.innerText);
}
}
</script>
</head>
<body>
<input id="Button1" type="button" value="button" />
<div id="dv">
<p>嘿嘿</p>
</div>
</body>
</html>
结果是
这是innerHTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript">
//添加按钮点击事件
window.onload = function () {
document.getElementById("Button1").onclick = function () {
var content = document.getElementById("dv");
alert(content.innerHTML);
}
}
</script>
</head>
<body>
<input id="Button1" type="button" value="button" />
<div id="dv">
<p>嘿嘿</p>
</div>
</body>
</html>
结果是
综上,我们取值的时候,innerHTML会把Html代码过滤出来,而InnerText不会。