对不起,我不能很好地解释我的问题。 我想找我之前选择的标签的孩子。
我用简单的代码向您展示。
这是我的html代码:
<div class="inner">
<div class="box">
<a href="yaghoot.studio"></a>
</div>
</div>
<div class="inner">
<div class="box">
<a href="http://google.com"></a>
</div>
</div>
这是我的jquery代码:
$(document).ready(function () {
$('.inner').click(function () {
window.location = $('.inner > .box > a').attr('href');
});
});
如果单击具有“内部”类的任何div,请打开第一个网址。 如何为每个div设置网址?
在这种情况下可以使用关键字“ this”吗?
答案 0 :(得分:3)
您的逻辑不正确,因为您选择了DOM中的所有.inner
元素。在此集合上调用attr()
只会返回该集合中第一个元素的值。
要获取引发click
事件的元素的引用,请使用this
关键字和find()
:
$('.inner').click(function () {
window.location = $(this).find('> .box > a').attr('href');
});
答案 1 :(得分:1)
使用this
来引用要单击的元素,并使用find()
来查看DOM:
window.location = $(this).find('.box > a').attr('href');