昨日のjQueryの挙動 ですが、getElementsByTagNameをつかってDOMをセレクトするか、querySelectorAllをつかってセレクトするかで近い現象を生み出すことができました。
getElementsByTagName DEMO
getElementsByTagNameで取得したDOMは参照となっており、動的に変化します。
なのでinnerHTMLをクリアしたらなくなってしまいます。
querySelectorAll DEMO
一方でquerySelectorAllで取得したDOMはセレクトした瞬間の状態をキープしているため、innerHTMLをクリアしてもなくなりません。
なので、lengthの値にも差が出てくるケースもあります。
※ コンソールで確認してみてください
jQueryのIEとそれ以外の差 も内部でつかっているAPIによってうまれた差なのかもしれませんね。