如何遍历DOM和console.log每个唯一段落的文本

时间:2012-03-29 20:14:25

标签: jquery html

我希望能够在悬停时控制每个段落中的标题文本。我遇到的问题是它没有输出正确的标题文本。

jQuery('.videogall-thumb').each(function () {
    jQuery(this).hover(function () {
        var name = jQuery('videogall-caption').html();
        console.log(name);
    });
});

<div class="videogall-thumb">
    <p class="videogall-caption">Jon</p>
</div>
<div class="videogall-thumb">
    <p class="videogall-caption">Bob</p>
</div>
<div class="videogall-thumb">
    <p class="videogall-caption">Mark</p>
</div>

2 个答案:

答案 0 :(得分:2)

jQuery('.videogall-thumb').mouseenter(function(){
    var name = jQuery(this).find('.videogall-caption').text();
    console.log(name);
});

我所做的改变:

  • 您的.选择器中缺少videogall-caption
  • 使用mouseenter代替hover。 Hover将在进入和离开时开火。
  • 根本不需要each,只需在集合上调用mouseenter即可。
  • 使用find查找相应的元素,而不是抓取所有元素(如果需要,可以使用children)。
  • 使用text来获取文本,以防有html元素(可能不关心你)。

答案 1 :(得分:0)

jQuery('.videogall-thumb').each(function() { 
    jQuery(this).hover(function(){ 
        var name = $('> .videogall-caption', this).html(); 
        console.log(name); 
    }); 
});