我有一个内容为
的html文件<html>
<body>
<script language="JavaScript">
function fun1()
{
alert(document.getElementById('id1').innerHTML);
}
</script>
<div id="id1">
<ul>
<li>Here111</li>
<li>Here222</li>
<li>Here333</li>
</ul>
</div>
<a href="javascript:void(0)" onclick="fun1()">Click</a>
</body>
</html>
在innerHTML函数中,我只获得
<ul>
<li>Here111
<li>Here222
<li>Here333</li>
</ul>
缺少</li>
标记,如何获取整个内容?
答案 0 :(得分:1)
您的脚本引用了一个名为 test1 的ID,但您的html没有。
如果你这样做:
<html>
<head>
<script>
function test(){
alert(document.getElementById('test1').innerHTML);
}
</script>
</head>
<body>
<div id="test1">
<ul>
<li>This is first</li>
<li>This is Second</li>
</ul>
</div>
<a href="#" onclick="test();">hhhhhh</a>
</body>
</html>
即使在IE 7/8中也能正常工作。
答案 1 :(得分:1)
您已将div的ID设置为“测试” 但你得到的是“test1”
alert(document.getElementById('test1').innerHTML);
应该是
alert(document.getElementById("test").innerHTML);
答案 2 :(得分:0)
在html
的开头添加<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
答案 3 :(得分:0)
还有outerHTML属性(遗憾的是,某些浏览器不支持)。它返回整个元素。
答案 4 :(得分:0)
这不是不正确的。对于<li>
元素,结束标记在HTML中是可选的,因此IE在这里返回一个有效的HTML片段(而不是它总是这样)。
如果您需要结束标记,则需要通过遍历DOM来创建自己的HTML字符串。