I have updated your jsfiddle: http://jsfiddle.net/Z9wBJ/1/
The visible binding simply sets the CSS 'display' property to 'none' to hide the div. But the contents are still rendered in the DOM. If selectedNotes is null, then trying to test selectedNodes.length will cause a javascript error. You can simply include a null check:
"visible{:selectedNotes && selectedNotes.length != 0}">
and:
<span data-link="{:selectedNotes && selectedNotes.length}">