今天開發的時候碰到了一個奇怪的問題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