美好的一天。
我只想在最终用户点击链接附近的按钮后获取链接的href。但问题是有很多按钮和链接。因此,如果最终用户点击第一个按钮,它应显示“www.a.com”。如果单击第3个按钮,则应显示“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>
答案 0 :(得分:1)
尝试使用parent
和child
function validate()
{
alert($(this).parent('div').child('a').attr('href'));
}
或者甚至可以使用prev
alert($(this).prev('a').attr('href'));
答案 1 :(得分:1)
我应该这样做:
$(document).on("click",".btn",function(){
alert($(this).prev('a').attr('href'));
});
使用此代码不需要onclick
答案 2 :(得分:1)
使用:
function validate()
{
alert($(this).siblings('a').attr('href'));
}
答案 3 :(得分:1)
试
$(document).ready(function () {
$(".btn").click(function () {
alert($(this).parent().children("a").attr("href"));
});
});
答案 4 :(得分:1)
从所有按钮中删除onClick ='validate()' 并尝试以下代码
$('.btn').click(function () {
alert($(this).prev().attr("href"));
});
答案 5 :(得分:0)
对事件源使用need prev()
,同时将源对象传递给函数
<强> Live Demo 强>
HTML
onClick='validate(this)'
的Javascript
function validate(obj)
{
alert($(obj).prev('a').attr('href'));
}