0

これは私のページから抽出されたコードです:

http://jsfiddle.net/Nt7V9/4/

実行しようとしているのは、同じ行の他のセルの内容に基づいて、WellName の値をリンクに変換することです。

jsFiddle の IE10 では正常に動作しますが、実際のアプリケーションでは .html() 呼び出し内で失敗します。IE 10 で「オブジェクトはこのプロパティまたはメソッドをサポートしていません」というエラーが表示されます。他のブラウザーは正常に動作します。

cells.eq(wellNameColumnIndex).html(('<a href="' + link + '" target="_blank">' + wellName + '</a>'));

Stack trace:
    clean, jquery-1.7.2.min.js, line 4
    buildFragment, jquery-1.7.2.min.js, line 4
    domManip, jquery-1.7.2.min.js, line 4
    append, jquery-1.7.2.min.js, line 3
    Anonymous function, jquery-1.7.2.min.js, line 4
    access, jquery-1.7.2.min.js, line 2
    html, jquery-1.7.2.min.js, line 4
    Anonymous function, cntrl.table.js, line 104

clean内では、p でスタックしています。innerHTML =n[1]+l+n[2]. デバッガーで p を調べると、innerHTMLがないことがわかります。p はプロパティbaseName "div" を持つオブジェクトのように見えますが、入力文字列に div タグがありません。うーん...

.html を .text に置き換えると機能しますが、セルの値はリンクではなく実際のタグになります。また、.html("anytext") に変更しても、同じエラーで失敗します。

この謎を解明できる人はいますか?

4

1 に答える 1

3

.html()IE では、パラメーターとして使用する HTML が完全に形成されている必要があります。間違いは許されません (Chrome と Firefox はそれをクリーンアップしようとします)。

挿入している HTML が、使用している Doctype に対して有効であることを確認してください。

$("#selector").html("<p>Hello World!</p>"); //works

$("#selector").html("<span>Derp</div>"); //does not work
于 2013-05-22T13:04:29.977 に答える