0

我正在尝试将页面<body>标签中的所有内容包装在名为 bodySemex 的 div 中。对于大多数页面,这工作正常:

$('body').children().wrapAll('<div id="bodySemex" />')

但是,在某些页面上,这会导致 body 元素完全消失。(例如,avc.com 和http://www.theatlantic.com/technology/archive/12/07/how-the-gorgeous-sometimes-fictional-sound-of-the-olympics-gets-made/259742/由于这行代码,两者都消失了。

每次发生这种情况时,我都会收到一条错误消息;该消息似乎表明 jQuery 的each()函数正在尝试对未定义的内容进行操作。

Uncaught ReferenceError: _gat is not defined
(anonymous function)
e.extend.globalEval chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/jquery.js:2
e.extend.globalEval chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/jquery.js:2
bp chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/jquery.js:2
e.extend.each chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/jquery.js:2
f.fn.extend.domManip chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/jquery.js:4
f.fn.extend.prepend chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/jquery.js:3
f.each.f.fn.(anonymous function) chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/jquery.js:4
(anonymous function) chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/distillery.js:365
e.extend.each chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/jquery.js:2
e.fn.e.each chrome-extension://clcjngnadninklpbdkjccpoenjdomnid/js/jquery.js:2
bodySwap (Note, this is the name of the line of code the this question is about)

我已经搜索了类似的问题,并尝试了一些 wrapAll 的替代方案(例如,这里讨论的替代方案:Jquery wrapAllInner() ?- 或者 wrapAll() 内部应用?

感谢您的任何帮助,您可以提供!

4

1 回答 1

0

我找到了一个适合我的解决方案。该.each()函数似乎在对<script>元素进行操作,导致它查找未定义的属性。

所以现在,我script在调用之前删除了所有元素wrapAll(),因此:

$('script').detach();
$('body').children().wrapAll('<div id="bodySemex" />');
于 2012-08-02T17:40:56.947 回答