Cómo crear dinámicamente un elemento de formulario

Tengo el siguiente código que estoy tratando de crear dinámicamente botón de radio con y sin tags en ellos. No puedo poner el texto en el botón de opción cuando creo el botón de opción. Aquí está el código sin tags. Esto es lo que espera.

Alex 

 $('').attr({ type:'radio', name:'name', value: "Alex", text:"Alex" }).insertAfter("#divid")); 

Ahora por tener tags,

  

 //create a label tag var label = $(' 

Lo anterior no produce ningún error en la consola, pero no produce la etiqueta HTML correcta que me interesa. También hay una forma de agregar directamente tags a la radio a medida que las creo dinámicamente. Quiero decir que no quiero crear una etiqueta de etiqueta por separado y añadirle el botón de opción. Muchas gracias por su ayuda

Crear dinámicamente label y radio

ejemplo de jsbin

 var $input = $('', { type : "radio", name : "name", value : "alex" }); $("", { insertAfter: "#somediv", // (or use appendTo: to insert into it) append: [$input, "Alex"] // include our $input and also some text description }); 
  
DIV

Debe reemplazar var label = $(' con la var label = $('

Además, tienes pocos errores de syntax en tu código, no veo qué es tan difícil de copiar + pegar correctamente.

Me gusta la respuesta de Roko , excepto que es vulnerable a la inyección de HTML si está creando las tags de los botones de radio a partir del contenido del usuario.

Aquí, uso el método .text() para asegurarme de que el texto se escape correctamente.

 var $target = $('#target'), records = [{ id: 1, name: "Alex" }, { id: 2, name: "Test that HTML is not injected" }]; $target.append('

With Labels

'); for (var i=0; i < records.length; i++) { $target.append($('