AleMal
AleMal

Reputation: 2087

DOM create object direct from his HTML code

in my project i have stored in a variable (htmlG) an html code like this:

<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"/>

and i would like to insert dinamically in a div that i create with DOM this image directly

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

but fail, probably because in var htmlG at the beginning there is correct?

How can icreate my img with these parameters?

thanks in advance

Upvotes: 0

Views: 65

Answers (2)

Kissaki
Kissaki

Reputation: 9217

You try to set the src attribute of your <img> element

oImgG.setAttribute('src',htmlG);

yet htmlG does not contain the src attribute content but a complete HTML img element as well.

So instead of your current

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);

you probably want to

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);

If you want to set the width and height attributes as well, you will have to call setAttribute for those two separately.


If you have to work with the entire HTML code for the element - as the dereferencing of response.testg suggests, you can use innerHTML to set the content of your div - and not call setAttribute at all.

divAgraph.innerHTML = htmlG 

Upvotes: 1

jko
jko

Reputation: 2098

Hope this helps:

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

I assume you are working in an environment that provides DOM. (node.js does not)

Upvotes: 1

Related Questions