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 );
        }
    });
4

4 に答える 4

3

スクリプト要素を再作成したり、明示的な削除をすべて行う必要はありません。次の操作を簡単に実行できます。

jQuery('#list script').appendTo('body');
于 2011-08-09T21:24:27.807 に答える
1

もう少しjqueryを使ってみませんか...

jQuery('#list script').each(function() {
    jQuery('<script type="text/javascript" />').text(jQuery(this).text()).appendTo(jQuery('body'));
}).remove();
于 2011-08-09T21:22:27.453 に答える
1

jqueryをずっと使わないのはなぜですか?

jQuery('#list script').each(function() {
    jQuery('<script></script>')
        .attr('type','text/javascript')
        .text(jQuery(this).text())
        .appendTo(jQuery('body'));
}).remove();
于 2011-08-09T21:24:16.437 に答える
0

あなたは何もリストしなかったので、それはセキュリティ例外だと思います。

(jqueryルーチンの)正確な行と正確な例外を説明する質問がなければ、これは暗闇の中での単なる刺し傷です.

ページのドメイン外のスクリプトにアクセスしているため、そのテキストにアクセスできない可能性があります。

これは、script タグを作成する方法でもあります。

もう少し簡潔なものをお勧めします:

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

html5 を使用していると仮定して、タイプを省略したことに注意してください。そうでない場合は、オプションでそこに入れたいと思うでしょう

于 2011-08-09T21:26:30.357 に答える