无法将HTMLImageElement转换为字符串?

时间:2012-10-16 11:34:58

标签: javascript

我正在使用javascript来嵌套嵌套在某些<div>中的img元素。之后我想将这些图像添加到字符串变量中。

我写道:

var SomeVariable="";
$("myDivId img").each(function(){
  console.log(this);
  SomeVariable += this;
});
console.log(SomeVariable);

console.log函数中使用 .each 时,它显示如下内容:

<img (some elements)>,这正是我想要的。

当我最后使用 console.log 时,要写出整个值,它会说:

[object HTMLImageElement][object HTMLImageElement]

我尝试使用一些转换,但我真的不知道如何实现它。

1 个答案:

答案 0 :(得分:7)

假设您想要HTML的字符串表示...

var html = $("myDivId img").clone().appendTo("<div />").html();

如果您只支持具有outerHTML属性的浏览器。

var html = $("myDivId img")
           .map(function() { return this.outerHTML; }).get().join("");

获得"[object HTMLImageElement]"的原因是因为Object's toString()会为您提供"[object x]",其中x是对象的[[Class]](内部属性)