悪いLI要素を持つサーバーによって生成されたページがあり、2つの終了liタグがあります
<li>Whatever</li></li>
すべてのjQuery操作はFirefoxで正常に機能しますが、IE(7および8)では機能しません。関数を開始する前に重複を削除したいのですが</li>
、どうすればよいですか?
悪いLI要素を持つサーバーによって生成されたページがあり、2つの終了liタグがあります
<li>Whatever</li></li>
すべてのjQuery操作はFirefoxで正常に機能しますが、IE(7および8)では機能しません。関数を開始する前に重複を削除したいのですが</li>
、どうすればよいですか?
論理的な意味に反するブラウザを使用していない限り、クライアント経由で修正することはできません。jQuery は生の HTML ではなく DOM を制御するため、スクラブされた壊れたタグを編集することはできません。サーバー側のスクリプトを修正するだけです。
ハックで恐ろしい、ひどい JS ソリューションが本当に必要な場合は、そのページが読み込まれた後に AJAX でページ自体を要求し、(無限ループを避けるために) ページから AJAX 呼び出しを削除し、壊れた要素を削除してから、その HTML を読み込むことができます。新しいウィンドウで。絶対にしないでください。
もちろん、可能であれば、ページを生成するコードを修正する必要があります。
それが不可能な場合は、前途多難です。マークアップは、何かを行う前に解析されるため、修正することはできません。そのため、ブラウザが壊れたマークアップから生成したものを修正する必要があります。
ブラウザーごとに間違ったコードを処理する方法が異なるため、Internet Explorer の現在のすべてのバージョン (7、8、9、10、場合によっては 6) を含め、入手できるすべてのブラウザーをテストする必要があります。一度にインストールできる IE のバージョンは 1 つだけなので、これは大変なことです。幸いなことに、新しいバージョンの開発者ツールを使用して古いバージョンをシミュレートできますが、それでも 100% 正確なエミュレーションではありません。
一部のブラウザーは余分な終了タグを無視する場合があり、一部のブラウザーは余分なリスト要素を追加する場合があります。各ブラウザーがマークアップから生成したものを処理するコードを作成し、要素を修正する必要があります。