JavaScript学jQuery的时候,做了个实验,关于.detach()的,怎么点了按钮没有反应?附代码!
我是想删除#AAA的最后一个子节点,可是没有反应..
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<style>
</style>
</head>
<body>
<input value="detach删除" id="detach" type="button" />
<div id="AAA">
<div id="aaa1">
节点1,id=aaa1
</div>
<div id="aaa2">
节点2,id=aaa2
</div>
</div>
<script>
$(document).ready(function(){ /***加载事件的开始,这行就不别改了!**/
$("#detach").on("click", detachF);
function detachF(){
$("#AAA:last-child").detach();
}
}) /***加载事件的结束,这行就不别改了!**/
</script>
</body>
</html>
我自己找到原因了:前面少一个空格!
一楼第一点说错了哈,不要被误导了,第二点正确,的确是少了个空格,但是他第一条说的不对,根本就没有这个选择方式,“:last”才是选择最后一个元素。
$("#AAA:last-child")
这个选择器选择的是id为AAA的最后一个元素 $("#AAA :last-child")
这样选择的是id为AAA的子集最后一个元素
如果你对选择器不熟悉,这边的jq选择器参考,你可以看一下
$("#AAA:last-child")这个选择器没有选上内容吧