HierarchyRequestError: DOM Exception 3 при попытке вставить ранее

При попытке вставить опцию с insertbefore, я получаю эту ошибку. Uncaught Error: HierarchyRequestError: DOM Exception 3

var target = $('#divA option:selected').prev().first();
    var options = $('#divA option:selected');
    if (options.prev().text() == target.text()) {
        return;
    }
    options.insertBefore(target);

если options.length > 2 эта ошибка возникает, если она равна 1 или 2, проблем нет. когда множественный выбор идет наверх, все выбранные элементы исчезнут. в чем проблема? не могли бы вы помочь мне?

Пример: http://jsfiddle.net/tHVsw/

1 ответ

Эта ошибка выдается, когда вставка элемента в определенную точку в DOM не разрешена (т. Е. Это невозможно), вы можете использовать if заявление для проверки, возможна ли вставка или нет.

if ( !target.prev().length ) 
    target.parent().prepend(options);
else 
    target.before(options);

Если length предыдущего брата элемента назначения равен 0, добавьте элемент (ы) к родительскому элементу, в противном случае вставьте его перед целевым элементом.

http://jsfiddle.net/fKx68/

Другие вопросы по тегам