如何在Javascript中向div动态添加锚定标记?

如何在Javascript中向div动态添加锚定标记?,javascript,Javascript,如何在Javascript中将超链接列表(及其事件和属性)动态添加到div中?我建议您使用它,因为它使过程更加简单。以下是使用jQuery的一些示例: $("div#id").append('<a href="' + url + '">' + text + '</a>'); $(“div#id”).append(“”); 但是,如果您需要列表,如在中,您可以执行以下操作: $("div#id").append('<ul>'); var ul = $("di

如何在Javascript中将超链接列表(及其事件和属性)动态添加到div中?

我建议您使用它,因为它使过程更加简单。以下是使用jQuery的一些示例:

$("div#id").append('<a href="' + url + '">' + text + '</a>');
$(“div#id”).append(“”);
但是,如果您需要列表,如在
中,您可以执行以下操作:

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

ul.append('<li><a href="' + url + '">' + text + '</a></li>');
$(“div#id”).append(“
    ”); var ul=$(“div#id>ul”); ul.追加(“
  • ”);

函数createDiv()
{
var divTag=document.createElement(“div”);
divTag.innerHTML=“使用Javascript DOM动态创建的Div标记”;
document.body.appendChild(divTag);
}

这里有一个纯Javascript替代方案:

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

在不需要setAttribute的地方,又有一个变体被很好地包装了起来

如果Wetfox可以干燥,则不需要3条线

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
};

感谢您的帮助。

使用jquery

$(“div#id”).append(“”)
使用javascript

var new_a=document.createElement('a');
新的_a.setAttribute(“href”,“此处链接url”);
new_a.innerHTML=“您的链接文本”;
//向DOM添加新链接
文件.附录(新附录a);

我会使用
innerText
属性,而不是
innerHTML
,因为在XSS方面更安全。这并不是说这里有问题,但如果OP要动态加载链接文本,最好是出于安全考虑。我不知道我这样做时出了什么问题,但它不起作用,并且没有项目添加到div中!知道吗?抱歉我编辑了。我在appendChild中切换了mydiv和aTag。再试一次。这里有一个演示:想要在功能区上添加超链接。我能够将超链接添加到现有的div。我在页面上所做的每一个操作都会增加一个超链接。如何将其(超链接)限制为一个?“向后更新”:在2010年的这一公认答案中,据说
innerText
是“旧的Internet Explorer”方式,应该改用
textContent
。我添加这一点是因为在Firefox
innerText
上,我似乎无法使用它。Jquery使用javascript。。我同意在这里使用Jquery更容易阅读。Jquery不是java脚本!这并不能回答问题。
var mydiv = document.getElementById("myDiv");
var aTag = document.createElement('a');
aTag.setAttribute('href',"yourlink.htm");
aTag.innerText = "link text";
mydiv.appendChild(aTag);
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
};
var a = document.createElement('a');
a.target = '_blank';
a.href = '/solution_code/ + solution_code.id'
a.innerText = "Soution Code";
var container = document.getElementById('solution-code');
container.appendChild(a);
container.appendChild(document.createElement('br'));