Я подозреваю, что это связано с тем, что браузеры считают пустыми элементами.Если вы посмотрите на пример, который я создал с помощью jsfiddle, вы заметите, что первые две таблицы отличаются только тем, что один из элементов body имеет пробел, а другой - нет.
http://jsfiddle.net/qtjdp/1/
В IE это выводит сообщение об отсутствии данных в обоих и в Firefox только в одно без пробелов в теге.
Вы увидите, что я вставил альтернативный оператор if, которыйв настоящее время закомментировано.Если вы используете это, он работает на Firefox (и Psytronic также сообщает мне в комментариях Chrome, хотя у меня его не установлено):
if ($(this).children().length==0)
Причина в том, что это проверка на дочерние элементы (вот чтоВы хотите здесь), а не просто какой-либо контент.