1

更新された質問:

現在のブラウザがタグの非表示をサポートしているかどうかを判断するために、javascript を使用して悪意のあるブラウザのスニフではなくスニフを機能させる方法はありますか?

IE は、select 要素でのタグの非表示をサポートしていません。そこで、ブラウザーがオプション タグの非表示をサポートしていない場合に調整するコードを書きたいと思います。しかし、ブラウザーが IE であるかどうかに基づいてコードを記述するのではなく、ブラウザーが非表示をサポートしているかどうかに基づいてコードを記述したいと思います。

誰も方法を知っていますか?

古い質問:

<option>選択ドロップダウンの要素を . hide() する jQuery コードをいくつか書きました。後で .show() を呼び出すことができ、現在表示されているオプション要素の位置が変更されないため、オプションを再ソートする必要がないため、.hide() が必要です。

.hide() は FF/Chrome ではうまく機能しましたが、IE6/7/8 では機能しませんでした。したがって、現在のブラウザーが要素を非表示にできるかどうかを判断するためのコードを、非表示の後に (ブラウザー バージョンのスニッフィング コードを記述するのではなく) 記述することを考えました。IE は、はい、option 要素が非表示になっていることを報告します (そうでなくても)。

$('option.hideMe').hide(); var result = $('option.hideMe').is(':visible');

//result === IE では false ですが、ドロップダウンにはまだ表示されています。

コードを 1) ブラウザー スニフまたは 2) すべてのブラウザーでの並べ替えを含む別の方法を使用するように書き直す前に、この状況を判断する別の方法はありますか?

編集

私が答えを得ようとしている質問は、ブラウザーのスニフではなく、スニフを機能させて、現在のブラウザーがタグの非表示をサポートしているかどうかを判断する方法であるかどうかです。

4

2 に答える 2

1

影響を受けるバージョンでオプション要素を非表示にする必要がある人のために、ここに回避策を投稿しました。この回避策は、オプションを複製または削除するのではなく、それらの周りにスパンをラップします。これは、おそらくはるかに対処が簡単です。

http://work.arounds.org/issue/96/option-elements-do-not-hide-in-IE/

于 2011-03-24T15:12:11.790 に答える
0

IE でオプションを非表示にする唯一の方法は、それを選択リストから削除することです。私の知る限り、それを隠したり無効にしたりすることはできません。

于 2010-10-01T18:55:47.677 に答える