Can anyone tell me how to add <a>
tag and href inside it using JavaScript?
I am using:
document.createElement('a').setAttribute('href', '#');
But it doesn't seem to work.
答案 0 :(得分:8)
您创建了一个节点,但未将该节点分配给浏览器中的元素。
var a = document.createElement('a'); // generate node
a.setAttribute('href', '#'); // set attribute
a.textContent = 'foo'; // assign some text
// or use
// a.innerHTML = 'foo';
document.body.appendChild(a); // use the node
答案 1 :(得分:0)
您是否尝试将其附加到DOM中?
var link = document.createElement('a');
link.setAttribute('href', '#link-here');
link.textContent = 'clickme';
document.body.appendChild(link);
答案 2 :(得分:0)
这是创建锚使用createElement()和setAttribute()然后appendChild()将它附加到div的方法
var mydiv = document.getElementById("myDiv");
var aTag = document.createElement('a');
aTag.setAttribute('href',"yourlink.htm");
aTag.textContent= "link text";
mydiv.appendChild(aTag);
答案 3 :(得分:0)
你所拥有的只是创造新元素的部分。您的新超链接需要在其中包含一些内容。
之后,您必须决定将其显示在文档中的位置并将其放在那里。
以下是一个例子:
var newA = document.createElement('a'); // Create the new element
newA.setAttribute('href', '#'); // configure its href attribute
newA.textContent = "Click Me"; // Set content for element
// Insert the new element inside the second div
document.getElementById("d2").appendChild(newA);
<div id="d1">some content</div>
<div id="d2">some content</div>
<div id="d3">some content</div>
答案 4 :(得分:0)
仅使用createElement()无济于事。您必须将其添加到文档中。
检查此示例:
var btn = document.createElement("BUTTON"); // Create a <button> element
var t = document.createTextNode("CLICK ME"); // Create a text node
btn.appendChild(t); // Append the text to <button>
document.body.appendChild(btn); // Append <button> to <body>
来源:https://www.w3schools.com/jsref/met_document_createelement.asp
对于你的问题:
var newDiv = document.getElementById("newDiv");
var anchorTag = document.createElement('a');
anchorTag.setAttribute('href',"mylink.html");
anchorTag.innerHTML = "link text";
newDiv.appendChild(anchorTag);
此处,newDiv是您要添加锚点的div。