Я пробовал это:
$('<input class="inputName" type="text" />').appendTo($('body'))
, но получается
<body><input class="inputName" type="text"></body>
Есть ли способ создать правильный самозакрывающийся ярлык?
То, что вы делаете, на самом деле правильно. Убедитесь, что ваш DOCTYPE - XHTML.
Редактировать: Вам не нужно беспокоиться об этом, поскольку код все равно не пройдет через валидаторы (валидаторы не выполняют javascript).