我想获取所有span标签的HTML,但我只能获取内部HTML。这是我的代码:Jquery无法获取元素html
var spans = document.getElementsByTagName('span');
for(var i=0;i<spans.length;i++) {
alert($(spans[i]).html());
}
这只会打印标签内的文本,而不是打印标签。我怎样才能打印标签?
我想获取所有span标签的HTML,但我只能获取内部HTML。这是我的代码:Jquery无法获取元素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。希望它可以帮助
那里有两种方式来抓住你的页面上的所有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);
});
代替使用警报这是恼人的,使用的console.log(跨距);并打开您的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>
能否请您提供codepen或的jsfiddle? – HenryDev