Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么JavaScript包装器会抛出错误?_Javascript_Jquery_Firefox Addon_Runtime Error - Fatal编程技术网

为什么JavaScript包装器会抛出错误?

为什么JavaScript包装器会抛出错误?,javascript,jquery,firefox-addon,runtime-error,Javascript,Jquery,Firefox Addon,Runtime Error,我有一个Firefox插件,代码如下: $("table > tbody > tr > td[width='600']").wrapInner("<div id='content_cont' />"); $(“table>tbody>tr>td[width='600']); 这行代码执行,但它后面的所有行都不执行。它在Firefox错误控制台中抛出一个代码超过500KB的错误 代码: 发生异常。 回溯(最近一次呼叫最后一次): 文件“resource://jid

我有一个Firefox插件,代码如下:

$("table > tbody > tr > td[width='600']").wrapInner("<div id='content_cont' />");
$(“table>tbody>tr>td[width='600']);
这行代码执行,但它后面的所有行都不执行。它在Firefox错误控制台中抛出一个代码超过500KB的错误

代码:

发生异常。
回溯(最近一次呼叫最后一次):
文件“resource://jid0-ib8arkgejpxo7qidkuieut5rquk-at-jetpack/flvs-educator-release-version/data/redesign.js“,第49行,在
$(“table>tbody>tr>td[width='600']);
文件“resource://jid0-ib8arkgejpxo7qidkuieut5rquk-at-jetpack/flvs-educator-release-version/data/jquery.js“,第2行,in.wrapInner
(函数(a,b){function G(a){var b=F[a]={};返回p.each(a.split(s)…..&define(“jquery”,[],function(){return p})})(窗口);
ReferenceError:未定义开始

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

如果您正在包装的内容包含任何
脚本
元素,那么
wrapInner
将再次执行它们,即使它们在页面第一次加载时运行。有关更多信息,请参阅jQuery的bug tracker上的

您正在包装的内容中的一个
脚本
元素中似乎存在错误,该错误阻止了您的代码在
包装器
调用之后继续执行。发生错误的原因可能是代码假定它只会运行一次。最简单的解决方案可能是在包装内容之前,请从内容中删除任何
脚本
元素:

$("table > tbody > tr > td[width='600']").find('script')
  .remove()
.end().wrapInner("<div id='content_cont' />");
$(“table>tbody>tr>td[width='600'])。查找('script')
.删除()
.end().wrapInner(“”);

如果您正在包装的内容包含任何
脚本
元素,则
包装器将再次执行它们,即使它们在页面首次加载时运行。有关更多信息,请参阅jQuery的bug tracker上的

您正在包装的内容中的一个
脚本
元素中似乎存在错误,该错误阻止了您的代码在
包装器
调用之后继续执行。发生错误的原因可能是代码假定它只会运行一次。最简单的解决方案可能是在包装内容之前,请从内容中删除任何
脚本
元素:

$("table > tbody > tr > td[width='600']").find('script')
  .remove()
.end().wrapInner("<div id='content_cont' />");
$(“table>tbody>tr>td[width='600'])。查找('script')
.删除()
.end().wrapInner(“”);

使用jQuery的非精简版本进行调试我没有任何使用jQuery的经验;我刚开始在这个项目上使用它。我不知道如何调试它。使用jQuery的非精简版本。然后错误消息将不包含整个文件,而只包含发生异常的行;您可以发布该行,然后我们将可以深入研究。@epascarello:jquery已经缩小了,所以它基本上是一行长代码,被记录到控制台上。有一点,id是单数的,所以你不能用相同的id包装所有这些元素。如果你将来需要引用它,你应该在那里使用类。另外,试着不要对div使用空标记符号,看看我是否使用jQuery的非精简版本进行调试我没有任何使用jQuery的经验;我刚刚开始在这个项目上使用它。我不知道如何调试它。使用jQuery的非精简版本。然后错误消息将不包含整个文件,而只包含发生异常的行;您可以我们可以深入研究。@epascarello:jquery被缩小了,所以它基本上是一行很长的代码,被记录到控制台上。有一点,id是单数的,所以你不能用相同的id包装所有这些元素。如果你将来需要引用它,你应该在那里使用类。另外,试着不要在di中使用空标记符号v,看看这有什么不同。非常感谢,你是救命恩人!它不会让我再奖励22小时的赏金。非常感谢,你是救命恩人!它不会让我再奖励22小时的赏金。