contentEditable is a property that is implied by the contentEditable attribute. What you really need to check is the isContentEditable property, which is a boolean that indicates whether the element has editable content or not:
if (obj.isContentEditable) { // do stuff }
But instead of getting all the elements and filtering them, just select all the contentEditable elements:
var contEditables = document.querySelectorAll('[contenteditable]'); for (var i = 0; i < contEditables.length; i++) {
In fact, an element has editable content if and only if it has the contentEditable attribute, whether an empty string is or not.
Live demo
source share