以前、テーブル内の子孫要素をまとめて無効にするためには、find()とeach()を使うと書きました。
ajya.hatenablog.jp
このとき、当初は
$(".rowall").css("display", "none").prop('disabled', true);
としていました。
この記述を残したまま、以前の記事に書いたfind()とeach()を使いました。
Internet Explorer 11だけは、子孫要素もまとめて無効?
普段はMozilla FirefoxまたはGoogle Chromeで動作確認をしています。
Mozilla FirefoxまたはGoogle Chromeで試してみると、期待通りの動作をしていました。
これで問題ないだろうと思って、念のためInternet Explorer 11で動作を確認すると予想外の動作をしました。
予想外の動作というのは、テーブル内の子孫要素のチェックボックスが無効になっていて、テキストボックスは入力できるけれど、テキストボックス自体は無効状態の色になっていました。
予想外の動作を最初に見たときは、Internet Explorer 11ではfind()とeach()を使った処理が途中で終了してしまったのかと思いました。
Mozilla FirefoxまたはGoogle Chromeでは動作しなかった当初の記述が残してあったことを思い出し、
$(".rowall").css("display", "none");
としたところ、予想外の動作はしなくなりました。
jQueryを使っているのだから、ブラウザに関係なく動作すると思っていたので、ブラウザ依存をしてしまうとは予想していませんでした。