jQuery IE8 问题

发布于 2024-11-28 15:18:12 字数 536 浏览 0 评论 0原文

IE8 在第 4 行抛出错误。

jQuery('#list script').each(function() {

    var script=document.createElement('script');
    script.type='text/javascript';
    jQuery(script).text(jQuery(this).text()); //Error in IE8  does the field editing
    document.body.appendChild(script);
}).remove();

例程中的 jquery 错误:

append: function() {
    return this.domManip(arguments, true, function( elem ) {
        if ( this.nodeType === 1 ) {
            this.appendChild( elem );
        }
    });

IE8 throws error on 4th line.

jQuery('#list script').each(function() {

    var script=document.createElement('script');
    script.type='text/javascript';
    jQuery(script).text(jQuery(this).text()); //Error in IE8  does the field editing
    document.body.appendChild(script);
}).remove();

jquery error in routine:

append: function() {
    return this.domManip(arguments, true, function( elem ) {
        if ( this.nodeType === 1 ) {
            this.appendChild( elem );
        }
    });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

转身以后 2024-12-05 15:18:12

您不必重新创建脚本元素或执行所有显式删除操作。您可以简单地执行以下操作:

jQuery('#list script').appendTo('body');

You don't have to recreate the script elements or do all of that explicit removing. You can simply do the following:

jQuery('#list script').appendTo('body');
自此以后,行同陌路 2024-12-05 15:18:12

多使用jquery怎么样...

jQuery('#list script').each(function() {
    jQuery('<script type="text/javascript" />').text(jQuery(this).text()).appendTo(jQuery('body'));
}).remove();

how about using jquery a bit more...

jQuery('#list script').each(function() {
    jQuery('<script type="text/javascript" />').text(jQuery(this).text()).appendTo(jQuery('body'));
}).remove();
§普罗旺斯的薰衣草 2024-12-05 15:18:12

为什么不直接使用jquery呢?

jQuery('#list script').each(function() {
    jQuery('<script></script>')
        .attr('type','text/javascript')
        .text(jQuery(this).text())
        .appendTo(jQuery('body'));
}).remove();

why don't you use jquery all the way?

jQuery('#list script').each(function() {
    jQuery('<script></script>')
        .attr('type','text/javascript')
        .text(jQuery(this).text())
        .appendTo(jQuery('body'));
}).remove();
就像说晚安 2024-12-05 15:18:12

猜测这是一个安全异常,因为您没有列出任何内容。

尽管没有问题解释确切的行(在 jquery 例程中)和确切的异常,但这只是在黑暗中刺伤。

您可能正在访问页面域之外的脚本,因此不允许您访问其文本。

这也可能是您创建脚本标记的方式。

我建议更简洁一些:

$('#list script').each(function() {
    $('<script>').text($(this).text()).appendTo($(document.body));
})
.remove();

注意,假设您使用的是 html5,我省略了类型,如果没有,您可以选择将其放在那里

Guessing it is a security exception since you didn't list anything.

Though without the question explaining the exact line (in the jquery routine) and exact exception this is a mere stab in the dark.

It could be that you are accessing a script that is outside the page's domain and therefore will not allow you to access its text.

It could also be the way you create the script tag.

I'd suggest something a little more concise:

$('#list script').each(function() {
    $('<script>').text($(this).text()).appendTo($(document.body));
})
.remove();

Note I left out the type on assuming you are using html5, if not you'll optionally want to put it in there

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文