Вы не учли такую вещь как пробелы между тегами. Разные браузеры по-разному интерпретируют переносы в коде. Возможно данная проблема упирается в это. Поэтому имеет смыл делать проверку на тип узла. Вот пример var p=источник_события.previousSibling;
while (p.nodeType!=1){
p=p.previousSibling;
}
перебираем предыдущие узлы пока не найдём тег
|