ho rapidamente fatto una funzione che può raggiungere questo obiettivo, si può non è il modo migliore per farlo ma funziona semplicemente e dovrebbe essere cross browser, per favore sappi anche che NON sono un esperto in JavaScript quindi qualsiasi consiglio è fantastico :)
Pure Javascript Crea Elemento Soluzione
function createElement(){
var element = document.createElement(arguments[0]),
text = arguments[1],
attr = arguments[2],
append = arguments[3],
appendTo = arguments[4];
for(var key = 0; key < Object.keys(attr).length ; key++){
var name = Object.keys(attr)[key],
value = attr[name],
tempAttr = document.createAttribute(name);
tempAttr.value = value;
element.setAttributeNode(tempAttr)
}
if(append){
for(var _key = 0; _key < append.length; _key++) {
element.appendChild(append[_key]);
}
}
if(text) element.appendChild(document.createTextNode(text));
if(appendTo){
var target = appendTo === 'body' ? document.body : document.getElementById(appendTo);
target.appendChild(element)
}
return element;
}
Vediamo come facciamo questo
<select name="drop1" id="Select1">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
qui Funziona così
var options = [
createElement('option', 'Volvo', {value: 'volvo'}),
createElement('option', 'Saab', {value: 'saab'}),
createElement('option', 'Mercedes', {value: 'mercedes'}),
createElement('option', 'Audi', {value: 'audi'})
];
createElement('select', null, // 'select' = name of element to create, null = no text to insert
{id: 'Select1', name: 'drop1'}, // Attributes to attach
[options[0], options[1], options[2], options[3]], // append all 4 elements
'body' // append final element to body - this also takes a element by id without the #
);
questo è il params
createElement('tagName', 'Text to Insert', {any: 'attribute', here: 'like', id: 'mainContainer'}, [elements, to, append, to, this, element], 'body || container = where to append this element');
Questa funzione sarebbe adatto se devi ap molti elementi, se c'è un modo per migliorare questa risposta per favore fatemelo sapere.
edit:
Ecco una demo di lavoro
Questo può essere altamente personalizzato per soddisfare il vostro progetto!
sguardo nel 'document.createElement' e' element.appendChild' – Ian
@koukouloforos è la mia risposta è stata utile? – WooCaSh
@WooCaSh fa quello che sto chiedendo ma preferisco se qualcosa in semplice javascript. –