Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 关于jQuery中parent()和prev()的非常基本的问题_Javascript_Jquery_Parent Child_Parent - Fatal编程技术网

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

Javascript 关于jQuery中parent()和prev()的非常基本的问题,javascript,jquery,parent-child,parent,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 clas

我正在使用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>
$(function() {
   $('a.linkJs').click(function(){
      value=$(this).parent().prev().text();
      alert(value);
   });
});
我想要的是div2中标题的值。通过单击第一个链接,我得到:标题1。点击第二个:标题2

这必须是非常基本的,但我就是找不到我的答案

谢谢。

您可以通过以下方法找到它:

你想用


您的问题是,
标记不是
的兄弟,而是一个孩子,因此您必须执行两次
parent()。另外,
text()
函数返回标记内的纯文本内容,如果您想要标记的title属性,则需要使用
attr
函数。

尝试使用
最近的()方法。
方法:

获取第一个祖先元素 匹配选择器,从 当前元素并向上推进 通过DOM树


与其使用
div
.div2
可能是一个更合适的选择器,因为
div.div2
中可能有其他div元素

不是很漂亮,但这也应该有用

$(function() {
    $('a.linkJs').click(function(){
        value=$(this).parents()[1];
        alert($(value).attr('title'));
    });
});
var value = $(this).closest('div').attr('title');
$(function() {
    $('a.linkJs').click(function(){
        value=$(this).closest(".div2").attr("title");
        alert(value);
    });
});
var value = $(this).closest('.div2').attr('title');
$(function() {
    $('a.linkJs').click(function(){
        value=$(this).parents()[1];
        alert($(value).attr('title'));
    });
});