我想知道是否可以使用javascript更改HTML元素数据类型?
例如将img更改为div?我这样做的原因&不破坏img&创建一个div是因为该元素包含很多内联样式,所以我需要将所有内联样式从img复制到div。 PS:这个网站仅适用于iPad,因此跨浏览器兼容性不是问题。
var div = img.cloneNode(true);
div.type = "div";
因此使用img.cloneNode(true)克隆节点/元素会更容易,然后必须将类型更改为div。我希望这是可能的吗?
如果没有,也许有一种简单的方法可以将一个元素样式复制到另一个元素?也许...
// img is an img HTML element
var div = document.createElement("div");
div.style = img.style;
document.body.removeChild(img); // does that destroy div.style aswell?
答案 0 :(得分:4)
您无法更改元素的类型。是的,除非你连接div.style + = img.style,否则div的样式将被覆盖。在这种情况下,像img样式属性覆盖div。
答案 1 :(得分:2)
我尝试第二种方式 - 我认为 应该工作,并且应该超级快速地尝试一下 - 可能比在这里要求的更快! / p>
编辑:我可以确认它不起作用(至少,不在Opera中)。 JSFiddle在http://jsfiddle.net/T7r5c/