jQuery-最近的上一个同级

jQuery-最近的上一个同级,jquery,html,Jquery,Html,通过查看jQuery文档,我意识到没有一个jQuery函数可以实现我所寻找的功能,所以我想问的是什么组合(如果有组合的话)可以实现这个功能 如果一个页面上的每个都有一个,并且不必通过添加id或类es或数据-属性等来获得创造性。我们希望获得与最近的前一个,这是当前按键事件的目标 我们可以使用什么组合的jQuery遍历函数来解决这个问题?我已经研究并尝试了我所知道的一切 查看此项以更好地可视化此问题 没有一个jQuery函数可以完成我正在寻找的功能 实际上,您只需要prev 使用prev('span

通过查看jQuery文档,我意识到没有一个jQuery函数可以实现我所寻找的功能,所以我想问的是什么组合(如果有组合的话)可以实现这个功能

如果一个页面上的每个
都有一个
,并且不必通过添加
id
es或
数据-
属性等来获得创造性。我们希望获得与
最近的
前一个
,这是当前
按键
事件的
目标

我们可以使用什么组合的jQuery遍历函数来解决这个问题?我已经研究并尝试了我所知道的一切

查看此项以更好地可视化此问题

没有一个jQuery函数可以完成我正在寻找的功能

实际上,您只需要
prev

使用
prev('span')
获取与给定选择器匹配的上一个元素

$('div').on('keydown', 'textarea', function () {

        $(this).prev('span').text($(this).val())

})


请注意,在
keydown
事件中,textarea的值尚未更改。

另一种方法是使用自定义数据属性和目标:

Jquery

$('div').on('keyup', 'textarea', function() {
    var target = $("span[extra-data='"+$(this).attr('target')+"']");
    target.text($(this).val());
});
html

<div>
    <span extra-data="1">1</span>
    <br />
    <textarea target="1"></textarea>

    <span extra-data="2">2</span>
    <textarea target="2"></textarea>

    <span extra-data="3">3</span>
    <textarea target="3"></textarea>
</div>

1.

2. 3.
干得好,谢谢。这个答案是错误的。如果您添加应答者删除的

标记,它将不再工作,根据op,这是原始点。看这里:@r3wt这不是要问的问题。这个答案没有“删除”任何内容,它基于提供的小提琴:@meagar这是原始问题。感谢您对@r3wt的输入。我的问题指出,不要使用
id
class
data-
属性很重要,这是为了通过社区确认jQuery中没有我忽略或误用的函数(链接函数时很容易做到)或者希望在生成动态HTML块时减少使用这些额外功能。再次感谢您的投入。