今天开发的时候碰到了一个奇怪的问题
<!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>
如上所示一样,例子很像是这个问题
当要点击id=1的checkbox时,获取的父元素是1个,
当要点击id=2的checkbox时,获取的父元素是2个,
而且ie9,chrome下面总是获取的是真确的,但是在ie8下面总是有这样的问题,让人很是心烦
正打算归结为jquery的问题的时候
最后发现是html没有闭合的原因导致的。
是因为html元素没有闭合,不要学坏。牢记啊