今天开发的时候碰到了一个奇怪的问题javascript
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Document</title> <script type="text/javascript" src="./jquery.1.10.1.js"></script> </head> <body> <div id='div1'> <div id='div2'><p></p></div> <div id='div3' class='a'><input type="checkbox" id="1" class="box"></div> <div id='div4' class='a'><input type="checkbox" id="2" class="box"></div> </div> <script type="text/javascript"> $(document).ready(function(){ $(".box").on('click', function(event) { alert($(event.target).parents("div[class='a']").length); }); }); </script> </body> </html>
如上所示同样,例子很像是这个问题html
当要点击id=1的checkbox时,获取的父元素是1个,jquery
当要点击id=2的checkbox时,获取的父元素是2个,chrome
并且ie9,chrome下面老是获取的是真确的,可是在ie8下面老是有这样的问题,让人非常心烦安全
正打算归结为jquery的问题的时候ui
最后发现是html没有闭合的缘由致使的。spa
是由于html元素没有闭合,不要学坏。牢记啊htm