Javascript 使用jquery选择上一个元素?
正在尝试使用jquery选择上一个h4。基本上我有这样的东西:Javascript 使用jquery选择上一个元素?,javascript,jquery,frontend,Javascript,Jquery,Frontend,正在尝试使用jquery选择上一个h4。基本上我有这样的东西: <h4>THING I WANT 1</h4> <button>One</button> <button>Two</button> <button>Three</button> <h4>THING I WANT 2</h4> <button>One</button> <button&
<h4>THING I WANT 1</h4>
<button>One</button>
<button>Two</button>
<button>Three</button>
<h4>THING I WANT 2</h4>
<button>One</button>
<button>Two</button>
<button>Three</button>
<h4>THING I WANT 3</h4>
<button>One</button>
<button>Two</button>
<button>Three</button>
这适用于第一个按钮(我猜是因为它紧跟在h4之后),但不适用于后续按钮prevAll
不是答案(因为它选择了所有以前的H4),所以我有点困惑
使用$(selector).filter()的逻辑,我觉得我的方法是合理的。非常感谢您的帮助。如果有帮助的话,我很乐意将上面的内容用div或其他形式包装起来。
prevAll
确实是答案,但您必须选择集合中的第一个元素,否则所有以前的h4
都将包括在内:
$('button')。在('click',function()上{
const$h4s=$(此).prevAll(“h4”);
console.log($h4s[0].textContent);
});代码>
我想要的东西
一个
两个
三
我想要的东西2
一个
两个
三
我想要的东西3
一个
两个
三个
easist将使用prevAll
HTML:
<h4>THING I WANT</h4>
<button>One</button>
<button>Two</button>
<button>Three</button>
您可以显示更多代码吗?.prevAll()
是一个答案,假设您希望任何按钮更改您的
。请添加更多的上下文(可能还有代码)来准确解释您要做的事情,以及为什么.prevAll()
不适合您?prevAll返回所有以前的H4,而不是只返回一个以前的H4。页面上有多个上面看到的H4+按钮集。不知道为什么有人投了反对票,这很好。需要一些额外的线路,但它做到了!这不起作用,因为OP在容器中有多个h4
s。
<h4>THING I WANT</h4>
<button>One</button>
<button>Two</button>
<button>Three</button>
$('button').on('click', function()
{
var txt= $(this).prevAll('h4').text();
alert(txt);
});