Javascript 获取';a';正在单击的按钮附近的标记

Javascript 获取';a';正在单击的按钮附近的标记,javascript,jquery,css,Javascript,Jquery,Css,你好 我只想在最终用户单击链接附近的按钮后获取链接的href。但问题是有很多按钮和链接。因此,如果最终用户单击第一个按钮,则应显示“www.a.com”。如果单击第三个按钮,则应显示“www.c.com”。有谁能帮我把它做好吗?谢谢 <div> <a href='www.a.com'>a</a><input type='button' class='btn' onClick='validate()' value='V'/> </div>

你好

我只想在最终用户单击链接附近的按钮后获取链接的href。但问题是有很多按钮和链接。因此,如果最终用户单击第一个按钮,则应显示“www.a.com”。如果单击第三个按钮,则应显示“www.c.com”。有谁能帮我把它做好吗?谢谢

<div>
<a href='www.a.com'>a</a><input type='button' class='btn' onClick='validate()' value='V'/>
</div>
<div>
<a href='www.b.com'>b</a><input type='button' class='btn' onClick='validate()' value='V'/>
</div>
<div>
<a href='www.c.com'>c</a><input type='button' class='btn' onClick='validate()' value='V'/>
</div>
<div>
<a href='www.d.com'>d</a><input type='button' class='btn' onClick='validate()' value='V'/>
</div>

<script type="text/javascript">
function validate()
{
alert($('div a').closest('a').attr('href'));
}
</script>

函数验证()
{
警报($('div a')。最近('a')。属性('href'));
}
对事件源使用need
prev()
,同时将源对象传递给函数

Html

Javascript

function validate(obj)
{
   alert($(obj).prev('a').attr('href'));
}

尝试使用
parent
child

function validate()
{
    alert($(this).parent('div').child('a').attr('href'));
}
alert($(this).prev('a').attr('href'));
甚至你也可以用
prev

function validate()
{
    alert($(this).parent('div').child('a').attr('href'));
}
alert($(this).prev('a').attr('href'));

我应该这样做链接:

$(document).on("click",".btn",function(){
  alert($(this).prev('a').attr('href'));
});
此代码不需要onclick

使用:

function validate()
{
   alert($(this).siblings('a').attr('href'));
}
试一试

从所有按钮中删除onClick='validate()' 然后尝试下面的代码

  $('.btn').click(function () {

        alert($(this).prev().attr("href"));
    });

如果“a”标记的链接是其onmouseover事件的返回值,该怎么办?我的代码如何获得所述链接?当我尝试第二个选项时,它返回空值。