jQuery#text()
にnullや空文字を渡した時のふるまいについて、
jQuery APIレベルでは互換性は保たれているのだけれどDOMのchildNodesについて差分が出る。
https://api.jquery.com/text/
https://developer.mozilla.org/ja/docs/Web/API/Node/childNodes
jQuery_1.11
jQuery('<span>').text('').children()
// []
jQuery('<span>').text('')[0].childNodes.length
// 1
jQuery_2.1
jQuery('<span>').text('').children()
// []
jQuery('<span>').text('')[0].childNodes.length
// 0
これはjQueryを通さずにDOMを使っているツール(今回はCapybara)でjQuery 1.x -> 2.xへの移行をしている最中に
期待した動作をしなかったケースがあって気付いた。