点击</span>从<span>获取文字

时间:2013-07-01 18:32:32

标签: javascript jquery html

当点击like按钮div时,我试图从其范围中获取内容。我知道我需要使用.text(),但我无法为每个div选择相应的跨度。

$(".like").click(function(event){       
   event.stopPropagation();                     
   $("i", this).toggleClass("icon-thumbs-up-alt").toggleClass("icon icon-thumbs-up");  
   console.log($('.hideThis').text());
});

返回每个范围中的字符串。我需要在某个地方使用“这个”吗?

<div class= "postInfo1>
 <span class="hideThis" style="display:"none">3453652545</span>
</div
<div class="like">Like Button</div>


<div class= "postInfo2>
 <span class="hideThis" style="display:"none">3453652545</span>
</div
<div class="like">Like Button</div>


<div class= "postInfo3">
 <span class="hideThis" style="display:"none">3453652545</span>
</div
<div class="like">Like Button</div>

4 个答案:

答案 0 :(得分:1)

是的,试试这个:

$(".like").click(function(event){       
   event.stopPropagation();                     
   $("i", this).toggleClass("icon-thumbs-up-alt").toggleClass("icon icon-thumbs-up");  
   console.log($(this).prev('div').find('.hideThis').text()); //Find the previous div relative to the clicked span and insisde that find hideThis
});

请务必关闭您的女主角,在课程名称postInfo1后引用,并删除样式值style="display:"none"中的引号;

<强> Demo

答案 1 :(得分:1)

  

我需要在某个地方使用“这个”吗?

是的,所以你可以遍历以this(点击的元素)为起点的DOM:

$('.like').click(function(event) {
    //...
    console.log( $(this).prev().find('.hideThis').text() );
});

答案 2 :(得分:0)

你需要这样做 -

演示------> http://jsfiddle.net/v4mew/

$(".like").click(function(event){       
   event.stopPropagation();     
   $("i", this).toggleClass("icon-thumbs-up-alt").toggleClass("icon icon-thumbs-up");                  
   console.log($(this).prev('div').find('.hideThis').text());
});

更正标记 -

<div class="postInfo1"> <span class="hideThis" style="display:none">3453652545</span> 
</div>
<div class="like">Like Button</div>
<div class="postInfo2"> <span class="hideThis" style="display: none">3453652545</span> 
</div>
<div class="like ">Like Button</div>
<div class="postInfo3"> <span class="hideThis" style="display: none">3453652545</span>
</div>
<div class="like ">Like Button</div>

答案 3 :(得分:-1)

你的标记全部被抬起。你有没有关闭的字符串和标签。

我为你清理了

<div class="postInfo1"> <span class="hideThis" style="display:none">3453652545</span>

</div>
<div class="like">Like Button</div>
<div class="postInfo2"> <span class="hideThis" style="display:none">3453652545</span>

</div>
<div class="like">Like Button</div>
<div class="postInfo3"> <span class="hideThis" style="display:none">3453652545</span>

</div>
<div class="like">Like Button</div>