HierarchyRequestError:尝试插入前的DOM异常3

时间:2013-03-19 09:08:53

标签: jquery domexception

尝试使用insertbefore插入选项时,我收到此错误。 未捕获错误:HierarchyRequestError:DOM异常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 个答案:

答案 0 :(得分:5)

当不允许将元素插入DOM中的特定点时抛出此错误(即。 是不可能的),您可以使用if语句来检查是否可以插入。

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

如果目标元素的前一个兄弟的length为0,则将元素添加到父元素,否则将其插入目标元素之前。

http://jsfiddle.net/fKx68/