1. ホーム
  2. jquery

[解決済み] jQuery: ボタン以外の入力/選択/テキストエリアを最初に表示する方法は?

2023-04-04 01:59:15

質問

私は

$(":input:not(input[type=button],input[type=submit],button):visible:first")

と表示されますが、何も見つかりません。

私の間違いは何ですか?

UPD: $(document).load()で実行しました。

<script type="text/javascript">
$(window).load(function () {
  var aspForm  = $("form#aspnetForm");
  var firstInput = $(":input:not(input[type=button],input[type=submit],button):visible:first", aspForm);
  firstInput.focus();
});
</script>

で、デバッグではfirstInputが空であることが確認できます。

UPD2です。 私は、Sharepointの下で実行されているASP.NETのページです。

今までのところ、ある要素については(固定されたものについては)見つかり、ある要素については見つからないということがわかりました :(

どのように解決するのですか?

必要なものだけを対象にすればいいのでは( デモ )?

$('form').find('input[type=text],textarea,select').filter(':visible:first');

編集

または、jQueryを使用する :入力 セレクタを使用して、フォームの子孫をフィルタリングすることもできます。

$('form').find('*').filter(':input:visible:first');