2012-02-20 124 views

回答

3

嗯,你實際上沒有得到innerHTML屬性,你得到一個未定義的屬性html。將其更改爲innerHTML,它將起作用。

http://jsfiddle.net/4XumV/1/

+0

很容易,謝謝 – Bayu 2012-02-20 06:54:36

+0

@Bayu沒問題。你也可以考慮用'document.getElementById(「main」)'替換'$(「#main」)' - 它會更好。 – 2012-02-20 07:26:22

1

這應該工作:

$(function() 
{ 
    var allLatestNews = $("#main").find('span'); 
    $.each(allLatestNews, function(i,val){ 
     alert($(val).text()); 
    }); 
}); 

我想知道爲什麼你的代碼不能正常工作和JQuery不會返回從選擇元素的數組,這可能還努力:

for(var i = 0; i < allLatestNews.length; i++) 
{ 
    alert($(allLatestNews[i]).text()); 
} 

第一重疊的元素作爲一個jQuery對象,然後查詢text()而不是html,它可以通過函數訪問而不是屬性。

您更新小提琴:http://jsfiddle.net/4XumV/9/

+0

感謝您的不同方法... – Bayu 2012-02-20 06:55:46

+0

@Bayu我更新了爲什麼你的代碼不起作用的答案。 – gideon 2012-02-20 06:58:44

0

這是工作

var allLatestNews = $("#main").find('span'); 

    $.each(allLatestNews ,function(index , value){ 
    console.log($(value).html()); 
    }); 

,而不是console.log($(value).html());你可以寫alert($(value).html());

0

DOM元素返回內部HTML的屬性名爲innerHTMLhtml

allLatestNews[i].innerHTML 

或者使用jQuery

$(allLatestNews[i]).html() 

Updated JS Fiddle

0

,你也可以使用這個

var allLatestNews = $(this).find("#main span"); 

    for(var i = 0; i < allLatestNews.length; i++) 
    { 
     alert(allLatestNews[i].innerHTML); 
    } 
1

試試這個它應該工作

 allLatestNews.each(function() 
    { 
     alert($(this).html()); 
    });