Jquery无法获取元素html

Jquery not able to get elements html

本文关键字:元素 html 获取 Jquery      更新时间:2024-03-16

我正在尝试获取所有span标记的HTML,但我只能获取内部HTML。这是我的代码:

var spans = document.getElementsByTagName('span');
for(var i=0;i<spans.length;i++) {
    alert($(spans[i]).html());
}

这只打印标记中的文本,而不是与标记一起打印。如何使用标签打印?

var spans = $( "span" );
 spans.each(function(index,element){  
    alert(element.outerHTML);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<span>Hallo</span>

您可以使用outerHTML和jQuery。希望它能帮助

使用outerHTML:

for (var i = 0; i < spans.length; i++) {
  alert(spans[i].outerHTML);
}

演示

有两种方法可以获取页面上的所有span元素。

本机Javascript

var spans = document.getElementsByTagName('span');
for (var i in spans){
    //print out the whole tag
    console.log(spans[0].outerHTML);
}

jQuery

var spans = $('span');
spans.each(function(index,elem){ 
    //print out the whole tag
    console.log(elem.outerHTML);
});

不要使用烦人的alert,而是使用console.log(spans);然后打开您的web浏览器控制台,查看打印出的内容。

编辑:第一张海报是对的,outerHTML是一条路。

var spans = document.getElementsByTagName('span');
         for(var i=0;i<spans.length;i++){

             alert(        +'<span> '+ $(spans[i]).html())+' </span>';
         }
     }

刚刚添加了一些硬编码的"书尾",标题为"跨度"。您可以根据需要修改它们
它们充当html的包装器,并在循环的每次迭代中运行。

这里有另一种方法:

    var spans = $('span');
    spans.each(function(index,element){  
        alert( $('<div/>').html(element).html() );
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<span>Hallo</span>