2014-09-29 66 views
1

所以我想獲取h3元素上的文本,但我不知道如何獲取文本。我一直得到空的結果。這是我最後一次嘗試:在循環中,如何從h3元素獲取文本?

$('#budgetOverviewResult .budget-inner-table').each(function() { 
     var insideText = $(this).children('h3:first').text(); 
     console.log(insideText); 
    }) 

這裏是HTML

<td data-date="2014-09-01" class="budget-inner-table"> 
    <h3>supercalifragilisticexpialidocious</h3> 
    ...some code 
</td> 
+1

什麼是「行」?需要一些更多的上下文代碼和html示例 – charlietfl 2014-09-29 09:46:45

+0

請提供一個小提示來演示問題。 – 2014-09-29 09:47:10

+0

它在[小提琴](http://jsfiddle.net/jqmcuuuf/)中工作。當然,通過'onLoad'事件和'

'上的'id =「budgetOverviewResult」'。 – Regent2014-09-29 09:47:43

回答

2

像這樣的東西可能會幫助

$('.budget-inner-table').each(function() { 
    var insideText = $(this).find('h3').eq(0).text(); 
    console.log(insideText); 
    //rest of code 
}); 

編輯:解釋 OP的HTML代碼沒有id標籤,它會導致問題,因爲JQuery選擇器將無法找到該元素。其次,我個人發現使用.eq()好於使用僞選擇器作爲:first

+1

爲什麼在OP的代碼不可用時這會起作用?這個實現沒有任何問題,但我不明白它是如何解決OP代碼所具有的某種問題的。只是一種不同的做法。也很好的答案解釋他們做了什麼,爲什麼。 – jfriend00 2014-09-29 09:44:32

+2

與OP代碼完全相同的不同方法 – charlietfl 2014-09-29 09:44:43

+1

@Newtt爲什麼你認爲'.eq(0)'比':first'更好? – Regent 2014-09-29 09:51:05