关于 jQuery 中的parent()和prev()的非常基本的问题
我正在使用 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。
这一定是非常非常基本的,但我在任何地方都找不到答案。
谢谢。
I am handling a hyperlink's click event with a JavaScript function. I want to retrieve data from the hyperlink.
The page looks like this:
<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>
And the JavaScript something like this:
$(function() {
$('a.linkJs').click(function(){
value=$(this).parent().prev().text();
alert(value);
});
});
What I want to have is the value of the TITLE in the div2. By clicking the first link I get : Title 1. And by clicking on the 2nd: Title 2.
This must be very very basic but I just can't find my answer anywhere.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您想使用
closest
您的问题是
< ;p>
标签不是的同级标签,而是子标签,因此您必须执行
parent()
两次 - 没有必要不过,因为closest
函数是一个方便的快捷方式。另外,text()
函数返回标签内部的纯文本内容,如果您想要标签的title属性,则需要使用attr函数。
You want to use
closest
Your problem is that the
<p>
tag is not a sibling to the<div>
but a child, so you would have to doparent()
twice - there's no need, though, as theclosest
function is a handy shortcut. Also, thetext()
function returns the pure text contents inside the tag, if you want the title attribute of the tag you need to use theattr
function.您可以使用 closest 方法找到它:
You can find it with the closest method:
尝试使用
closest()
方法: http://api.jquery.com/最接近/try using the
closest()
method: http://api.jquery.com/closest/.div2
可能是更合适的选择器,而不是使用div
,因为div.div2
内可能还有其他 div 元素。Instead of using
div
,.div2
may be a more appropriate selector because there may be other div elements insidediv.div2
.不是很漂亮,但这应该也可以。
Not very pretty, but this should work too.