2012-03-29 43 views
0

我想能夠console.log懸停每個段落的標題文本。我遇到的問題是它不輸出正確的標題文本。如何遍歷DOM和console.log每個獨特的段落文本

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> 
+0

也許你可以解釋你遇到的問題。我認爲問題是你沒有得到正確的個人標題? – 2012-03-29 20:16:39

+0

@JamesMontagne - 正確 – 2012-03-29 20:17:11

回答

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

的變化我做:

  • 缺少.在您選擇的videogall-caption。使用mouseenter代替hover。哈弗將在進入和離開時開火。
  • 根本不需要each,只需撥打mouseenter即可。
  • 使用find找到適當的元素,而不是抓住所有元素(如果需要,可以使用children)。
  • 使用text只是在文本中有html元素(可能不是您的問題)。
+0

你也可以使用這個選擇器:'jQuery('。videogall-caption',this).text()' – leepowers 2012-03-29 20:25:40

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