JQueryを扱うInternet ExplorerまたはIEを扱うJQueryに問題があります:)
単に私は次のコードを持っています:
$(function () {
$("*").each(function (i) {
var textalign = $(this).css("text-align");
if (textalign == "left") {$(this).css({'text-align': 'right'});}
else if (textalign == "right"){$(this).css({'text-align': 'left'});}
});
});
コードの機能は、すべてのタグの text-align を交換することです。FF と Chrome では、このコードは完璧に動作しますが、IE では問題があり、親プロパティを変更した後に継承された text-align プロパティを読み取り、それを交換すると思いますまた !
何が起こっているのかを理解するために、JQueryコードを適用した後のソースコードの2つの画像をここに添付しました:
FFで(パーフェクト!):
IEで(間違って!):
ところで、このように使用することについて疑問がある場合は、私はオープン ソース プロジェクトを所有しており、テーブルも含めて数百の JSP でインライン スタイルを使用しているため、レイアウトを反転させて多言語製品をサポートするための回避策 (ltr & rtl 言語をサポート) ...
うまくいけば、解決策が見つかりました。
注: 私は JQuery 1.7.1 を使用しています ... この問題は ie8 & ie9 で発生しました。
注 2:jQuery("*").each(jQuery("*").get().reverse(), function (i) {またはを使用すると、最悪の結果が得られました。jQuery(jQuery("*").get().reverse()).each(function (i) {
編集1&2:この質問の中にありました
編集3:
注 3: ページ上のすべての要素で問題が発生してscriptいhtmlますstyle。このスクリーンショットを参照してください:

編集4:
私の問題は部分的に解決され、IE9ではうまく機能し、IE8では機能せず、Stefanからの解決策があり、私のコードで要約する多くの方法を試した後:
JQueryコードで:
if (jQuery.browser.msie == false || jQuery.browser.msie == undefined) {
if (textalign == "left") {jQuery(this).css({'text-align': 'right'});}
else if (textalign == "right"){jQuery(this).css({'text-align': 'left'});}
}
IE のみに読み込まれた CSS ファイル:
body *[style*="text-align: left"] {
text-align: right !important;
}
body *[style*="text-align: right"] {
text-align: left !important;
}
よろしく、