2012-02-20 135 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()); 
    });