在JQuery(2.1.1。+ FF 33.1).html()中不适用于singel div-Tags?
<head>
<title>jquery Test</title>
<script src="jquery-2.1.1.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function(){
$("#name").html( "hans" );
alert( "hans2:" + $("#name2").html() + ":");
$("#name2").html( "hans2" );
$("#name3").html( "hans3" );
$("#version").html( $().jquery );
});
</script>
JQuery-Version: :<div id="version">??</div>:
Name: :<div id="name">??</div>: <<< work
Name: :<div id="name2"/>: <<< not work
Name: :<div id="name3">??</div>:
<br>
End
</body>
结果:
JQuery-Version ::
2.1.1
:姓名::
汉斯
:姓名::
hans2
声明:
$("#name2").html( "hans2" );
替换完整的html直到文件结尾!
答案 0 :(得分:3)
<div id="name2"/>
是无效的HTML。使用a validator。
如果元素是void元素,则start tag末尾只能有/
。
div的结束标记是必需的。
在您尝试将内容放入$("#name2").html( "hans2" );
之前,div不会在文档结束前关闭,因此Name: :<div id="name3">??</div>:<br> End
会从文档中删除#name3
。