383 votes

CreateElement avec id ?

Je suis en train de modifier ce code pour également donner à cet élément div un ID, mais je n’ai rien trouvé sur google, et idName ne fonctionne pas. J’ai lu quelque chose à Ajouter, cependant, il semble assez compliqué pour une tâche qui semble assez simple, donc y a-t-il une alternative ? Merci  :)

727voto

lkaradashkov Points 1358
Have you tried:

130voto

g.d.d.c Points 20164

Vous pouvez utiliser `` de votre exemple pour définir l’id de l’élément que vous avez créé.

73voto

raina77ow Points 45965
var g = document.createElement('div');
g.id = 'someId';

52voto

Rangoo Points 34

Je peux vous donner une de mes fonction pour faire mieux:

function createElement(element,attribute,inner){if(typeof(element) === "undefined"){return false;}if(typeof(attribute) === "undefined"){attribute = "";}if(typeof(inner) === "undefined"){inner = "";}var el = document.createElement(element);if(attribute.length > 1 && attribute[0] == "[" && attribute[attribute.length-1] == "]"){var attr = attribute.split("][");attr[0] = attr[0].substr(1);attr[attr.length-1] = attr[attr.length-1].substr(0,attr[attr.length-1].length-1);for(var k = 0, len = attr.length; k < len; k++){var el_attr,el_attr_val="",ind=attr[k].indexOf(":");if(ind > 0){el_attr = attr[k].substr(0,ind);el_attr_val = attr[k].substr(ind+1);}else{el_attr = attr[k].substr(0);}el.setAttribute(el_attr,el_attr_val);}}if(Array.isArray(inner)){for(var k = 0;k < inner.length;k++){if(inner[k].tagName){el.appendChild(inner[k]);}else{el.appendChild(document.createTextNode(inner[k]));}}}else{if(inner.tagName){el.appendChild(inner);}else{el.innerHTML = inner;}}return el;}

createElement("div");

fera ce:

<div></div>

createElement("a","[href:http://google.com][style:color:#FFF;background:#333;]","google");`

fera ce:

<a href="http://google.com" style="color:#FFF;background:#333;">google</a>

var google = createElement("a","[href:http://google.com]","google"),
    youtube = createElement("a","[href:http://youtube.com]","youtube"),
    facebook = createElement("a","[href:http://facebook.com]","facebook"),
    links_conteiner = createElement("div","[id:links]",[google,youtube,facebook]);

fera ce:

<div id="links">
    <a href="http://google.com">google</a>
    <a href="http://youtube.com">youtube</a>
    <a href="http://facebook.com">facebook</a>
</div>

Vous pouvez créer un nouvel élément et attribut de jeu(s) et définir intérieure HTML ou d'ajouter des enfant(s)

createElement("tag","[attr:val][attr:val]",[element1,"some text",element2,element3,"or some text again :)"]);

il n'y a pas de limite pour l'attribut ou élément enfant(s)

15voto

Shyju Points 46555

Pourquoi ne pas faire avec jQuery ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X