#11109
Multiple sibling combinators don't return expected results
by Timmy Willison
HTML
<script src="http://getfirebug.com/firebug-lite-debug.js"></script>
<div id="test">
<div>
<div>
<div></div>
</div>
</div>
<div>
<div></div>
</div>
<div>
<div></div>
</div>
<span></span>
</div>
JavaScript
var selectors = {
'#test > div *': 4,
'#test > div:first-child + div ~ span': 1
};
document.querySelectorAll = null;
for ( selector in selectors ) {
console.log( 'jQuery => selector: %o, expected: %d, result: %d', selector, selectors[ selector ],
jQuery( selector ).length );
}
// Native QSA
var qsa = HTMLDocument.prototype.querySelectorAll;
if ( qsa ) {
for ( selector in selectors ) {
try {
console.log( 'querySelectorAll => selector: %o, expected: %d, result: %d',
selector, selectors[ selector ],
qsa.call( document, selector ).length );
} catch( e ) {
console.log( 'querySelectorAll failed: %o', e );
}
}
}