2015-07-13 2 views
0

Я пытаюсь создать элементы html динамически с помощью javascript. Например, при создании пункта в моем файле «finalXML», я использую синтаксис ниже:динамически создавать элемент div с помощью javascript

function paragraph (finalXML, value) 

{ 

var code1 = 'var para = document.createElement("p"); 
var t = document.createTextNode("This is the paragraph that should be displayed"); 
para.appendChild(t); 
document.body.appendChild(para);' 

return String(finalXML).replace(/add_paragraph_here/g,code1); 
} 

Как бы идти о создании DIV с кнопками радио, например, используя тот же самый процесс? Может ли кто-нибудь помочь мне с этим синтаксисом?

+0

возможно дубликат [В HTML, с Javascript, создать новую кнопку радио и его текст?] (HTTP: // StackOverflow .com/questions/23430455/in-html-with-javascript-create-new-radio-button-and-its-text) –

+0

http://stackoverflow.com/questions/23430455/in-html-with-javascript- create-new-radio-button-and-its-text –

+0

@KevalBhatt, у меня есть html-документ, содержащий только текст заполнителя (например. "Radio_buttons_go_here"). У меня есть отдельный документ javascript для динамического создания переключателей. Мне нужно 2 набора из 5 переключателей каждый. Я не уверен, что сообщение, которое вы ссылаетесь, делает то же самое. Любые мысли, пожалуйста? – HumaniTech

ответ

0

посмотреть пример: http://jsfiddle.net/kevalbhatt18/owuqm8j8/

var radio_home = document.getElementById("radio_home"); 

function makeRadioButton(options) { 
    var div = document.createElement("div"); 
    for (var i = 0; i < options.length; i++) { 
     var label = document.createElement("label"); 
     var radio = document.createElement("input"); 
     radio.type = "radio"; 
     radio.name = options[i].name; 
     radio.value = options[i].value; 
     label.appendChild(radio); 
     label.appendChild(document.createTextNode(options[i].text)); 
     div.appendChild(label); 
     } 
     radio_home.appendChild(div); 
} 
var options = [{ 
    name: "first", 
    value: "yes", 
    text: "yes" 
}, { 
    name: "first", 
    value: "no", 
    text: "no" 
}] 
    var options2 = [{ 
    name: "second", 
    value: "ohhh yes", 
    text: "ohhh yes" 
}, { 
    name: "second", 
    value: "ohhh no", 
    text: "ohhh no" 
}] 
makeRadioButton(options); 
makeRadioButton(options2); 

+0

спасибо. Я поместил div в свой html-документ, и я запускаю файл javascript через узел js. Это дает мне ошибку «document not defined» в разделе «var radio_home = document.getElementById (« radio_home »); линия. Как мне исправить или обойти эту ошибку? Есть предположения? – HumaniTech

+0

сделать одну вещь radio_home.appendChild (div); заменить на document.body.appendChild (div); ' потому что в вашем случае вы добавляете элементы в тело, можете ли вы предоставить свой проект? –

+0

Я заменил код, как вы предложили, но я все еще получаю ошибку «document not defined». Сканирование через некоторые из подобных сообщений здесь, кажется, что-то о том, что узел не поддерживает DOM API. Любые мысли или обходные пути? Ни один из тех, что я видел, не работал. Я ценю вашу помощь. – HumaniTech

Смежные вопросы