tbody > tr > td[width='600']").wrapInner(""); 该行代码执行,但其后面的所有行均不执行-6ren">
gpt4 book ai didi

javascript - 为什么 JavaScript wrapInner 会抛出错误?

转载 作者:行者123 更新时间:2023-11-28 13:48:15 25 4
gpt4 key购买 nike

我有一个带有以下代码的 Firefox 插件:

$("table > tbody > tr > td[width='600']").wrapInner("<div id='content_cont' />");

该行代码执行,但其后面的所有行均不执行。它会在 Firefox 错误控制台中抛出一个代码超过 500KB 的错误。

代码:

An exception occurred.
Traceback (most recent call last):
File "resource://jid0-ib8arkgejpxo7qidkuieut5rquk-at-jetpack/flvs-educator-release-version/data/redesign.js", line 49, in
$("table > tbody > tr > td[width='600']").wrapInner("<div id='content_cont' />");
File "resource://jid0-ib8arkgejpxo7qidkuieut5rquk-at-jetpack/flvs-educator-release-version/data/jquery.js", line 2, in .wrapInner
(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s)...<tons of meaningless code>...&define("jquery",[],function(){return p})})(window);
ReferenceError: Begin is not defined

我不明白为什么要这样做。语法有错误吗?

最佳答案

如果您要包装的内容包含任何 script 元素,则 wrapInner 将再次执行它们,即使它们在页面首次加载时运行。请参阅Ticket #9134有关更多信息,请访问 jQuery 的错误跟踪器。

您正在包装的内容内的 script 元素之一似乎存在错误,并且该错误阻止您的代码继续执行到 wrapInner调用。发生该错误可能是因为代码假定它只会运行一次。最简单的解决方案可能是在包装内容之前从内容中删除所有 script 元素:

$("table > tbody > tr > td[width='600']").find('script')
.remove()
.end().wrapInner("<div id='content_cont' />");

关于javascript - 为什么 JavaScript wrapInner 会抛出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12622949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com