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