0

单击类似按钮 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

4 回答 4

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
});

并记住关闭你的 div,类名后的 qoutespostInfo1并删除样式值中的引号style="display:"none"

演示

于 2013-07-01T18:34:22.223 回答
1

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

this是的,因此您可以遍历以(单击的元素)为起点的 DOM :

$('.like').click(function(event) {
    //...
    console.log( $(this).prev().find('.hideThis').text() );
});
于 2013-07-01T18:34:26.937 回答
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>
于 2013-07-01T18:34:43.137 回答
-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>
于 2013-07-01T18:36:34.807 回答