2011-04-01 16 views

Respuesta

64

aquí es una alternativa pura Javascript:

var mydiv = document.getElementById("myDiv"); 
var aTag = document.createElement('a'); 
aTag.setAttribute('href',"yourlink.htm"); 
aTag.innerHTML = "link text"; 
mydiv.appendChild(aTag); 
+7

Usaría el atributo 'innerText' en lugar de' innerHTML', ya que es más seguro cuando se trata de XSS. No es que haya un problema aquí, pero si OP va a cargar textos de enlace dinámicamente, es mejor estar en el lado seguro. –

+0

No sé qué me pasa cuando lo hago, pero no funciona y no se agregan elementos al div. ¿Alguna idea? –

+0

lo he editado. Cambié mydiv y aTag en appendChild. Pruébalo otra vez. aquí hay una demostración: http://jsfiddle.net/ducondez/mbTnH/ – danniel

14

Recomiendo que use jQuery para esto, ya que hace que el proceso sea mucho más fácil. Estos son algunos ejemplos utilizando jQuery:

$("div#id").append('<a href="' + url + '">' + text + '</a>'); 

Si necesita una listaaunque, como en un <ul>, usted puede hacer esto:

$("div#id").append('<ul>'); 
var ul = $("div#id > ul"); 

ul.append('<li><a href="' + url + '">' + text + '</a></li>'); 
+2

OP no dice "jQuery" ... – kennytm

+0

greate me funciona –

+0

Jquery usa javascript .. Estoy de acuerdo que usar Jquery es mucho más fácil de leer aquí. – markthewizard1234

0
var newA = document.createElement('a'); 
    newA.setAttribute('href',"http://lochalhost"); 
    newA.innerHTML = "link text"; 
    document.appendChild(newA); 

googlear encontraría esta bastante facilidad.

1
<script type="text/javascript" language="javascript"> 
function createDiv() 
{ 
    var divTag = document.createElement("div");    
    divTag.innerHTML = "Div tag created using Javascript DOM dynamically";   
    document.body.appendChild(divTag); 
} 
</script> 
0

Una mayor variación envuelto muy bien que no se necesite setAttribute.

Hay 3 líneas que no serían necesarias si Wetfox pudiera secarse.

var saveAs = function (filename, content) { 
    if(filename === undefined) filename = "Unknown.txt"; 
    if(content === undefined) content = "Empty?!"; 
    let link = document.createElement('a'); 
    link.style.display = "none"; // because Firefox sux 
    document.body.appendChild(link); // because Firefox sux 
    link.href = "data:application/octet-stream," + encodeURIComponent(content); 
    link.download = filename; 
    link.click(); 
    document.body.removeChild(link); // because Firefox sux 
}; 

Gracias por la ayuda.

Cuestiones relacionadas