Используя выражение:
var children = document.getElementById('id').getElementsByTagName('*');
Я хотел бы исключить все элементы, есть ли синтаксис для getElementsByTagName , который позволяет мне это сделать, или каким-либо другим приятным способом?
Вы не можете сделать это с помощью встроенной функции, но вы можете легко фильтровать.
http://jsfiddle.net/idbentley/ncH95/4/
Было бы проще использовать jQuery или подобную библиотеку (Zepto - хорошая крошечная библиотека), но если вы хотите использовать сырой javascript, вы можете использовать выше.
С помощью jQuery вы можете сделать:
$('#id *').not('br');
Если вы используете фреймворк, такой как jquery, вы можете сделать
$('#id').children().not('br');
Для этого нет специального оператора, но вы можете легко фильтровать.
(function () { var element = document.getElementById('id'); if (element.tagName === "br") throw "AHHHHH!!! IT'S A BR AHHHHH!!!!!!"; // Do stuff if it's not a br. }).apply(this);