javascript - jQuery .prev() 类型,无论其父级等

标签 javascript jquery html dom sizzle

有没有一种简单的方法可以获取 DOM 中元素的上一次出现情况?如果我正在查看 #text3 并且想要获取之前的输入 #text2

<div>
    <input id="text1" type="text" value="text1" />
</div>

<div>
    <p>Choose your race!</p>
    <input id="text2" type="text" value="text2" />
</div>

<div>
    <div class="labeledField">
        <label>Text 3:</label>
        <input id="text3" type="text" value="text3" />
    </div>
</div>

.prev('input') 不起作用,因为它位于父级中,并且 .prevAll('input') 似乎也只搜索父级。 ..我在这里错过了什么吗?这感觉应该比 $('#text3').parent().prev().find('input') 容易得多:D

最佳答案

您可以使用$.index() ,就像这样:

var previous = null;
var inputs = $('input');
var index = inputs.index(this);
if (index > 0) {
    previous = $(inputs[index-1])
}

例如:http://jsfiddle.net/pYaBL/1/

关于javascript - jQuery .prev() 类型,无论其父级等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7771119/

相关文章:

javascript - react-testing-library getAll 然后过滤找到一个元素

javascript - 某些 Mac 机器浏览器上的 Angularjs CORS 问题

javascript - 如何从父窗口访问子窗口URL?

jQuery 动画性能

html - 表格溢出到 div 之外

javascript - 使用 jquery 从多个图像列表更改图像 src

javascript - 更改 TD 背景和文本的 MouseOver 事件

javascript - Node JS : File upload Error [ERR_STREAM_WRITE_AFTER_END]

javascript - 使用 JQuery 获取第 N 列中的元素。

javascript - 要在编辑按钮上自动填充文本框中的值,请单击并编辑/更新 HTML 表单中的值