如何关注点击按钮后的下一个textarea?
http://jsfiddle.net/infatti/GmPCz/
$('.add').click(function(){
$(this).closest('div').next('textarea:visible').focus();
});
答案 0 :(得分:2)
closest()
从当前元素开始,在DOM中搜索与选择器匹配的第一个元素。你想要的div不是链接的祖先,而是兄弟姐妹。
$('.add').click(function(){
$(this).next('div').find('textarea:visible:first').focus();
});
答案 1 :(得分:1)
尝试找到下一个div
并关注第一个textarea
。此外,请确保使用preventDefault()
覆盖锚标记的默认行为:
$('.add').click(function(event){
event.preventDefault();
$(this).next('div').find('textarea:visible').first().focus();
});
答案 2 :(得分:0)
这应该这样做:
$(this).next().find('textarea').filter(':visible').first().focus();
使用.filter(':visible')
和.first()
而不是将其包含在选择器中是出于性能原因。它避免了必须执行其他查询,因为它只是削减了初始单个查询中的现有结果集。