DOM直接从他的HTML代码创建对象

时间:2013-11-16 10:38:04

标签: javascript jquery html dom

在我的项目中,我在变量(htmlG)中存储了一个像这样的HTML代码:

<img src="http://mygrtew.imm.com/graph?&o=f&c=1&y=q&b=ffffff&n=666666&w=450&h=250&r=1m&u=www.test.com" width="450" height="250"/>

我希望在我用DOM创建这个图像的div中插入dinamically

var htmlG = response.testg;
    var divAgraph = createElement('div', 'divAgraph', 'divAgraphcss');
    var oImgG = createElement('img');
    oImgG.setAttribute('src',htmlG);
    divAgraph.appendChild(oImgG);

但是失败了,可能是因为在开头的var htmlG中有正确的吗?

如何使用这些参数创建我的img?

提前致谢

2 个答案:

答案 0 :(得分:1)

希望这会有所帮助:

var htmlG = response.testg;
var divAgraph = document.createElement('div');
divAgraph.innerHTML = htmlG 

我假设您在提供DOM的环境中工作。 (node.js没有)

答案 1 :(得分:1)

您尝试设置 src元素的<img> 属性

oImgG.setAttribute('src',htmlG);

但htmlG不包含src属性内容,但也包含完整的HTML img元素。

所以不是你当前的

var htmlG = '<img src="http://mygrtew.imm.com/graph?&o=f&c=1&y=q&b=ffffff&n=666666&w=450&h=250&r=1m&u=www.test.com" width="450" height="250"/>';
oImgG.setAttribute('src', htmlG);
你可能想要

var htmlG = 'http://mygrtew.imm.com/graph?&o=f&c=1&y=q&b=ffffff&n=666666&w=450&h=250&r=1m&u=www.test.com';
oImgG.setAttribute('src', htmlG);

如果您还要设置宽度和高度属性,则必须分别为这两个属性调用setAttribute


如果必须使用元素的完整HTML代码 - 作为response.testg的解除引用建议,您可以使用innerHTML设置div的内容 - 根本不打电话给setAttribute

divAgraph.innerHTML = htmlG