繁体   English   中英

获取多个元素的内部HTML

[英]Get Inner HTML of Multiple Elements

我想获取多个Span的内容。 这是我的代码:

http://jsfiddle.net/4XumV/

应该给我“ 111、222、333、444”。 它给了我“未定义”。

我的代码有什么问题?

好吧,您实际上并没有获得innerHTML属性,而是得到了未定义的html属性。 将其更改为innerHTML使用。

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

您似乎将jquery的htmlinnerHTML混淆了。

您可以使用innerHTML

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

alert(allLatestNews[i].innerHTML);

或jquery的html

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

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()

更新了JS小提琴

你也可以用这个

    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()); });

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM