jquery - 动态修改title - 获取网页title




jQuery:如何找到第一个可见的输入/选择/文本区域排除按钮? (4)

JQuery代码很好。 您必须在准备处理程序中执行而不是在窗口加载事件中。

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

更新

我试着用Karim79的例子(谢谢你的例子),它工作正常: http://jsfiddle.net/2sMfU/ : http://jsfiddle.net/2sMfU/

我试过了

$(":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:我在ASP.NET页面下运行Sharepoint。

到目前为止,我发现对于某些元素来说,它确实找到了它们(对于固定的元素),而对于一些元素却没有。 :(


为什么不只是瞄准你想要的( demo )?

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

编辑

或者使用jQuery :input选择器来过滤表单后代。

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

这是对@ Mottie的回答的改进,因为从jQuery 1.5.2开始:text选择没有指定type属性的input元素(在这种情况下, type="text"被隐含):

$('form').find(':text,textarea,select').filter(':visible:first')

这是我对上述内容的总结,完全适合我。 谢谢(你的)信息!

<script language='javascript' type='text/javascript'>
    $(document).ready(function () {
        var firstInput = $('form').find('input[type=text],input[type=password],input[type=radio],input[type=checkbox],textarea,select').filter(':visible:first');
        if (firstInput != null) {
            firstInput.focus();
        }
    });
</script>






jquery-selectors