如何使用JQuery设置焦点在input字段

鉴于以下HTML结构:

<div class="wrapper"> <div class="top"> <a href="http://example.com" class="link">click here</a> </div> <div class="middle"> some text </div> <div class="bottom"> <form> <input type="text" class="post"> <input type="submit"> </form> </div> <div> 

这将在页面上重复多次,当用户单击.bottom div中的链接时,如何将焦点设置在.bottom div中的input字段上?

我目前正在使用下面的JQuery代码点击成功地出现.bottom div,但似乎无法弄清楚如何同时在input字段上设置焦点。

 $('.link').click(function() { $(this).parent().siblings('div.bottom').show(); }); 

谢谢!

试试这个,把焦点设置到第一个input字段:

 $(this).parent().siblings('div.bottom').find("input.post").focus(); 

贾斯汀的答案不适合我(Chromium 18,Firefox 43.0.1)。 jQuery的.focus()创build视觉高光,但文本光标不出现在字段(jQuery 3.1.0)。

https://www.sitepoint.com/jqueryhtml5-input-focus-cursor-positions/启发,我添加了;autofocus属性的input字段,瞧!

 function addfield() { n=$('table tr').length; $('table').append('<tr><td><input name=field'+n+' autofocus></td><td><input name=value'+n+'></td></tr>'); $('input[name="aa"'+n+']').focus(); }