我正在使用 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/