jquery - jquery中如何获取选择器的子元素?

标签 jquery

抱歉,我无法很好地解释我的问题。 我想获取我之前选择的标签的子标签。

我用简单的代码向您展示。

这是我的 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,则打开第一个 url。 如何为每个div设置url?

在这种情况下可以使用关键字“this”吗?

最佳答案

您的逻辑不正确,因为您选择了 DOM 中的所有 .inner 元素。在此集合上调用 attr() 只会返回该集合中第一个元素的值。

要获取对引发 click 事件的元素的引用,请使用 this 关键字以及 find():

$('.inner').click(function () {
  window.location = $(this).find('> .box > a').attr('href');
});

关于jquery - jquery中如何获取选择器的子元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54097574/

相关文章:

javascript - 带有 bool 值返回的 jQuery UI 对话框 - true 或 false

javascript - 无法在队列完成时检索 dropzone 节点?

javascript - Bootstrap 缩略图不起作用

javascript - jQuery 在表循环中获取输入值

javascript - 使用 jQuery 在特定的@media 查询下异步设置或覆盖 CSS 属性

php - 评级系统协助

javascript - 使用 javascript 打开网页时单击图像链接

javascript - 如何修复错误 POST ...net::ERR_CONNECTION_RESET

javascript - 使用 HTML/JS 将输入保存到文本文件?

javascript - jQuery 用户界面 : My resize function is not working properly