答案 0 :(得分:3)
好吧,你实际上并没有获得innerHTML
属性,而是获得了一个未定义的html
属性。将其更改为innerHTML
即可。
答案 1 :(得分:1)
您似乎将jquery的html
与innerHTML
混为一谈。
您可以使用innerHTML
:
alert(allLatestNews[i].innerHTML);
或jquery的html
:
alert(allLatestNews.eq(i).html());
答案 2 :(得分: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/
答案 3 :(得分:1)
试试这个应该有效
allLatestNews.each(function()
{
alert($(this).html());
});
答案 4 :(得分:0)
这是有效的
var allLatestNews = $("#main").find('span');
$.each(allLatestNews ,function( index , value){
console.log($(value).html());
});
代替console.log($(value).html());
,您可以撰写alert($(value).html());
答案 5 :(得分:0)
返回内部HTML的DOM元素的属性名为innerHTML
,而不是html
allLatestNews[i].innerHTML
或使用jQuery
$(allLatestNews[i]).html()
答案 6 :(得分:0)
您也可以使用此
var allLatestNews = $(this).find("#main span");
for(var i = 0; i < allLatestNews.length; i++)
{
alert(allLatestNews[i].innerHTML);
}
答案 7 :(得分:-1)
var $elms = $('#main').find('span');
$elms.each(function(){ alert($(this).text()); });