jQuery .before()重新执行javascript

时间:2010-08-19 16:34:10

标签: javascript jquery

我有一段使用.before()的代码,它正在移动的代码具有内联javascript,其中.before()重新执行。有没有办法阻止.before()形式重新执行javascript代码?

3 个答案:

答案 0 :(得分:3)

您可以使用.before()的元素并从中删除脚本标记。 (另)

$(newHTML).find('script').remove().end().insertBefore(whereToInsert);

答案 1 :(得分:1)

除了将javascript移出你正在重新定位的HTML之外,我想你可以在第一次执行代码后设置一个标志true,并在执行时检查它。

答案 2 :(得分:0)

也许您可以分离脚本,移动元素,然后重新附加(如果您仍然需要它)。像这样:

var theScript = $('#foo').​​​​​find('script').detach();
var everythingElse = $('#foo'); // everything minus the script(s)
$('#baz').before( everythingElse ); // Document reflow happens
everythingElse.append( theScript ); // now add it back in?

未经测试,但也许值得一试。