使用jQuery,从任意元素开始,在页面上查找下一个表单元素的最佳方法是什么?当我说表单元素我的意思是<input>,<select>,<button>或<textarea>.
在以下示例中,id为"this"的元素是任意起始点,id为"next"的元素是我想要查找的元素.所有例子都应该使用相同的答案.
例1:
<ul>
<li><input type="text" /></li>
<li><input id="this" type="text" /></li>
</ul>
<ul>
<li><input id="next" type="text" /></li>
</ul>
<button></button>
Run Code Online (Sandbox Code Playgroud)
例2:
<ul>
<li><input id="this" type="text" /></li>
</ul>
<button id="next"></button>
Run Code Online (Sandbox Code Playgroud)
例3:
<input id="this" type="text" />
<input id="next" type="text" />
Run Code Online (Sandbox Code Playgroud)
例4:
<div>
<input id="this" type="text" />
<input type="hidden" />
<div>
<table>
<tr><td></td><td><input id="next" type="text" /></td></tr>
</table>
</div>
<button></button>
</div>
Run Code Online (Sandbox Code Playgroud)
编辑:到目前为止提供的两个答案都需要写一个序列号到页面上的所有输入元素.正如我在其中一个人的评论中提到的,这是我已经在做的事情,我更喜欢有一个只读解决方案,因为这将发生在一个插件中.