2011-01-31 12 views
1

次のコードは、IE以外のすべての主要なブラウザの変数dataに含まれる選択された要素のhtmlを返します。変数のjQueryクエリーがIEで失敗する

$("#blapp", data).html(); 

誰に知っていますか?

回避策は、dataをDOMに挿入して、必要なデータを選択してから一時的に削除します。誰かがより良い解決策を知っているかどうか疑問に思っていたのですが?

+0

あなたの「セレクタ」は何ですか? – ThiefMaster

+1

'data'の内容を投稿できますか?おそらくIEで扱えない無効なマークアップですか? – user113716

+0

'data'は実際にはヘッダーとフッターのないページコンテンツそのものです。セレクタはページ自体を美しく扱いますが、データ変数にnullを返します。しかし、戻り値のデータはdoctype IEをquirksモードに設定しないため、jQueryの結果に影響しますか? – Torstein

答えて

0

私はdataがHTML文書全体であると感じています。そうであれば、ブラウザ間でjQueryオブジェクトを作成しようとするときに異なる結果が得られます。

そのような場合、代わりにこれを試してみてください。

$('<div>' + data + '</div>').find('#blapp').html(); 

別のオプションは、(あなたがcontext引数を経て、今やっている).filter()代わりの.find()を使用しようとするだろう。これにより、一部のブラウザでの動作が停止することがあります。

$(data).filter('#blapp').html(); 
+0

これらのオプションのどれもnull以外を返しません。 – Torstein

+0

@トルースチン:ちょうどIEの、右ですか?その場合、私は詳細な情報なしではわかりません。 – user113716

関連する問題