[英]Get Inner HTML of Multiple Elements
我想获取多个Span的内容。 这是我的代码:
应该给我“ 111、222、333、444”。 它给了我“未定义”。
我的代码有什么问题?
好吧,您实际上并没有获得innerHTML
属性,而是得到了未定义的html
属性。 将其更改为innerHTML
使用。
您似乎将jquery的html
与innerHTML
混淆了。
您可以使用innerHTML
:
alert(allLatestNews[i].innerHTML);
或jquery的html
:
alert(allLatestNews.eq(i).html());
这应该工作:
$(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/
试试这个应该起作用
allLatestNews.each(function()
{
alert($(this).html());
});
这工作
var allLatestNews = $("#main").find('span');
$.each(allLatestNews ,function( index , value){
console.log($(value).html());
});
而不是console.log($(value).html());
您可以编写alert($(value).html());
返回内部HTML的DOM元素的属性命名为innerHTML
而不是html
allLatestNews[i].innerHTML
或使用jQuery
$(allLatestNews[i]).html()
你也可以用这个
var allLatestNews = $(this).find("#main span");
for(var i = 0; i < allLatestNews.length; i++)
{
alert(allLatestNews[i].innerHTML);
}
var $elms = $('#main').find('span');
$elms.each(function(){ alert($(this).text()); });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.