当一个链接被点击时,获取另一个类的内容
我正在尝试使用Wordpress的“回复”按钮进行评论,并使其获取您正在回复的评论的用户名,并将其发布到评论textarea框中@USERNAME
当一个链接被点击时,获取另一个类的内容
下面是我的Wordpress评论的输出。第6行的存在,有一个类名url
一个链接,链接文本是jasondavis
下越往下第15行存在的回复链接,它具有类的comment-reply-link
当用户点击该回复链接,我想在这种情况下获得用户名jasondavis
,所以我可以稍后将其插入到textarea框中。
我认为这是可以使用jQuery来完成,假设有多个被点击的回复链接,所以当页面上这些评论的,它必须足够聪明,从.url
得到文本,但只能从直接.url
在该答复按钮/链接被点击的特定评论的回复按钮之前。
如果您有任何建议或可以帮助我将不胜感激
<li class="comment byuser comment-author-jasondavis bypostauthor even depth-2" id="comment-6">
<div class="c-grav"><img alt="" src="http://1.gravatar.com/" class="avatar avatar-60 photo" height="60" width="60"></div>
<div class="c-arrow"></div>
<div class="c-body">
<div class="c-head">
<a href="http://www.codedevelopr.com/" rel="external nofollow" class="url">jasondavis</a>
<span class="c-date">December 30, 2011 8:00pm</span>
</div>
<p>Comment body text is here......</p>
<span class="edit-comment">
<a class="comment-edit-link" href="" title="Edit comment">Edit</a>
<a href="">Delete</a>
<a href="">Spam</a>
<a class="comment-reply-link" href="/codedevelopr/php-database-class/?replytocom=6#respond" onclick="return addComment.moveForm("comment-6", "6", "respond", "5")">Reply</a>
</span>
</div><!--end c-body-->
</li>
假设您的评论ul
有comments
的ID:
$("#comments").on('click', '.comment-reply-link', function(e) {
var name = $(this).parents('.comment').first().find('.url').text();
alert('replying to ' + name);
e.preventDefault();
});
上的jsfiddle Try it。
尝试this还的jsfiddle:
$(".comment-reply-link").click(function() {
username = $(this).parent().parent().children(".c-head").children(".url").html();
alert(username);
return false; // to prevent further link processing by the browser.
});
来获取用户名的值,你必须通过标签的节点走。
这很像icktoofay的例子,但没有我在他的评论中发布的问题,这似乎解决了这个问题,并显示正确的名称,谢谢! – JasonDavis 2012-01-07 08:04:18
我编辑了一些代码,加入:return false;以避免浏览器通过链接重定向页面。 – Aryo 2012-01-07 08:10:53
另一种替代方案,只是工作有点不同,以。家长:
var name = $(this).closest('.comment').find('.url').text();
这也适用,但在我发布在@ icktoofay的答案上的情况中也有同样的问题。我意识到我没有发布显示嵌套评论回复的代码,所以这是我的错 – JasonDavis 2012-01-07 08:07:01
这是真棒它让我看到它是可行的,我将与它的一些玩,但它是在正确的轨道上,以便谢谢!我遇到的问题是我也有线索评论,所以如果评论有5个回复,我点击主评论上的回复按钮,它将显示所有5条评论中的长名字,如果只有1条评论我也在回复,然后显示的只是1个名字,所以只需要找出扭曲的结果 – JasonDavis 2012-01-07 08:02:05
@jasondavis:你应该可以在添加'.first()'或'.last()'之后'.find('。url')'停止解决这个问题。 – icktoofay 2012-01-07 22:45:13