【发布时间】:2016-06-06 07:47:28
【问题描述】:
未捕获的 HierarchyRequestError:无法在“节点”上执行“insertBefore”:新的子元素包含父元素。
当窗口宽度小于 767 时,我只是尝试在 span3 之前附加 span9 并且出现此错误,这是为什么呢?
$(document).ready(function() {
// Optimalisation: Store the references outside the event handler:
var $window = $(window);
var $content = $('.content');
var $cats = $('.span3');
function checkWidth() {
var windowsize = $window.width();
if (windowsize < 767) {
$content.insertBefore($cats);
} else if (windowsize > 767) {
$content.insertAfter($cats);
}
}
// Execute on load
checkWidth();
// Bind event listener
$(window).resize(checkWidth);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="content-entry">
<div class="row">
<div class="span3">span3</div>
<div class="span9 content">span9/content</div>
</div>
</div>
【问题讨论】:
-
使用问题中的代码和标记,that error doesn't occur。所以很明显有更多的标记(这并不奇怪)。
-
似乎不会抛出错误。您可以创建有问题的片段吗?
-
旁注:看看你的
checkWidth函数,问问自己如果宽度正好是767,它会做什么。;-) -
添加 sn-p 是的,没有错误:(
-
“当 windows
width 是less then 767时,我只是尝试在span3之前附加span9并且我有这个错误,为什么会这样?” 请不要'不要将非代码随机标记为代码(更不用说将单词的部分标记为代码)。 (我已经为你修好了。)
标签: javascript jquery