JQuery在父级中获取类

时间:2012-01-05 03:06:15

标签: jquery html class parent

我花了好几个小时JQuery尝试从一个类中提取一段文本,在下面的代码中你可以看到当点击 reply 按钮时,JQuery会查找一个名为名称,以便提取一段文本,在本例中为 bob green

我总是研究这些类型的东西,但由于这些代码都不起作用,我被困住了,在下面的JQuery代码中你可以看到我尝试了不同的方法来提取文本。

如果有人能帮我解决这个问题,我会非常感激。

<div class='replyContainer'>
    <div class='image'></div>
    <span>
        <div class='close' title='Close'></div>
        <b><font class='name'>bob green</font></b>
        test message
    </span>
    <div class='bubble-triangle-border'></div>
    <div class='bubble-triangle'></div>
    <div class='info'> 
        <div class='reply'></div>
    </div>
</div>


$(".replyContainer .reply").live('click',function(){    
    var replyName = "@" + $(this).parent().parent(".name").text();
});


$(".replyContainer .reply").live('click',function(){    
    var replyName = "@" + $(this).parent().parent().closest(".name").text();
});

$(".replyContainer .reply").live('click',function(){    
    var replyName = "@" + $(this).parent().parent("span font.name").text();
});

2 个答案:

答案 0 :(得分:5)

 $(".replyContainer .reply").live("click", function() { 
      var replyName = "@" + $(this).closest(".replyContainer").find(".name").text()
 })

其他一些事情:

  1. jQuery.live()被视为已弃用(请参阅:http://api.jquery.com/live/),您应该使用.delegate()或。on()代替。
  2. 您应该完全不使用<font>标记,而是使用CSS!
  3. closest()让父母和他们的父母上去,find()向下看,看着孩子们!

答案 1 :(得分:1)

$(".replyContainer .reply").live('click',function(){    
var replyName = "@" + $(this).closest('div.replyContainer').find('font.name').text();
});