javascript - 关于 jQuery 中的parent()和prev()的非常基本的问题

标签 javascript jquery parent-child parent

我正在使用 JavaScript 函数处理超链接的单击事件。我想从超链接中检索数据。

页面如下所示:

<div class="div1">
   <div title="Title 1" class="div2">
      <p class="p1"><a class="linkJs">The link in question</a></p>
   </div>
</div>

<div class="div1">
   <div title="Title 2" class="div2">
      <p class="p1"><a class="linkJs">The link in question</a></p>
   </div>
</div>

JavaScript 是这样的:

$(function() {
   $('a.linkJs').click(function(){
      value=$(this).parent().prev().text();
      alert(value);
   });
});

我想要的是 div2 中 TITLE 的值。通过单击第一个链接,我得到:标题 1。单击第二个链接:标题 2。

这一定是非常非常基本的,但我只是在任何地方都找不到答案。

谢谢。

最佳答案

您想使用 closest

var value = $(this).closest('div').attr('title');

你的问题是<p>标签不是 <div> 的同级标签但是一个 child ,所以你必须这样做 parent()两次 - 不过没有必要,因为 closest函数是一个方便的快捷方式。另外,text()函数返回标签内的纯文本内容,如果你想要标签的标题属性,你需要使用 attr功能。

关于javascript - 关于 jQuery 中的parent()和prev()的非常基本的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3679637/

相关文章:

javascript - 如何将属性名称设置为 "value"

php - mysql查询缩进子项并对所有子项进行分组

sql - 如何使用 T-SQL 组合多个不同长度的父子关系?

javascript - 在 Jquery 中单击和未单击元素时不同的悬停颜色

php - 如何保护jquery ajax调用使用的php页面

javascript - 任何没有 MVC 或类似东西的 ASP.NET 脚本/样式表压缩器?

javascript - 如何使用ajax重新加载图像

php - 在 ajax 调用 jquery 函数后无法正常工作

javascript - 每次在 jQuery 中单击按钮(子)时,如何删除选定的 <tr>(父)div?

javascript - 如何使用 Node.JS 中的 2 个其他对象相减获得的数据创建动态对象?