никак не задетектишь используя дом-модель браузера.
когда пишешь element.outerHTML он тебе вернёт этот элемент но слешей в конце элемента уже не будет , хотя в разметке они есть.
вот посмотри сам если не веришь:
$('*').each (function(){ //итерируем по всем тегам
if(/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i.test(this.tagName)) { //ищем только самозакрывающиеся теги
console.log(/\/\>$/.test(this.outerHTML), this.outerHTML); //в них смотрим outerHTML и проверяем на наличие конструкции "/>"
}
});