Javascript 如何动态创建<;a>;使用js的标签
我正在创建一个html页面,需要在点击按钮时动态创建一个链接列表。我知道如何在之前知道要创建的链接数时创建此列表,如下所示:Javascript 如何动态创建<;a>;使用js的标签,javascript,html,Javascript,Html,我正在创建一个html页面,需要在点击按钮时动态创建一个链接列表。我知道如何在之前知道要创建的链接数时创建此列表,如下所示: //For 4 tags: var mydiv = document.getElementById("myDiv"); var aTag = document.createElement('a'); aTag.innerHTML = "link1 text"; aTag.setAttribute('onclick',"func()"
//For 4 tags:
var mydiv = document.getElementById("myDiv");
var aTag = document.createElement('a');
aTag.innerHTML = "link1 text";
aTag.setAttribute('onclick',"func()");
mydiv.appendChild(aTag);
var bTag = document.createElement('b');
bTag.innerHTML = "link2 text";
bTag.setAttribute('onclick',"func()");
mydiv.appendChild(bTag);
var cTag = document.createElement('c');
cTag.innerHTML = "link3 text";
cTag.setAttribute('onclick',"func()");
mydiv.appendChild(cTag);
var dTag = document.createElement('d');
dTag.setAttribute('onclick',"func()");
dTag.innerHTML = "link4 text";
mydiv.appendChild(dTag);
function main(num_anchors) {
var mydiv = document.getElementById("myDiv");
for (var i = 0; i < num_anchors; i += 1) {
mydiv.appendChild(createAnchor(i));
}
}
但问题是,计数将在运行时和函数调用时已知,我需要标识调用函数的链接的id。。有人能帮忙吗 是的,可以在运行时执行此操作。 JQuery提供了非常有用的dom操作。因此,您可以遍历dom,过滤所需内容 你可以在这里找到很多有用的函数。 它看起来像这样
$( document ).ready(function() {
$( "a" ).each(function( index ) {
// enter code here..
}
});
一旦加载DOM,就会调用document.ready 我不知道您是否收到要在锚中显示的HTML,但无论如何,这应该可以完成以下工作:
function createAnchor(id, somethingElse) {
var anchor = document.createElement('a');
anchor.innerHTML = "link" + id + " text";
anchor.setAttribute("onclick", "func()");
return anchor;
}
然后调用如下函数:
//For 4 tags:
var mydiv = document.getElementById("myDiv");
var aTag = document.createElement('a');
aTag.innerHTML = "link1 text";
aTag.setAttribute('onclick',"func()");
mydiv.appendChild(aTag);
var bTag = document.createElement('b');
bTag.innerHTML = "link2 text";
bTag.setAttribute('onclick',"func()");
mydiv.appendChild(bTag);
var cTag = document.createElement('c');
cTag.innerHTML = "link3 text";
cTag.setAttribute('onclick',"func()");
mydiv.appendChild(cTag);
var dTag = document.createElement('d');
dTag.setAttribute('onclick',"func()");
dTag.innerHTML = "link4 text";
mydiv.appendChild(dTag);
function main(num_anchors) {
var mydiv = document.getElementById("myDiv");
for (var i = 0; i < num_anchors; i += 1) {
mydiv.appendChild(createAnchor(i));
}
}
function main(num\u锚定){
var mydiv=document.getElementById(“mydiv”);
对于(变量i=0;i
当然,这段代码可以改进,但这只是为了说明这是怎么可能的。是什么给了你列表数据,即a/b/c/d标签。非常有用。。是否有任何方法可以确定哪个标记(链接id)实际调用了函数,因为所有标记都调用相同的方法,并且识别哪个标记调用了函数很重要?是的,您可以这样做:替换
code
anchor.setAttribute(“onClick”,“func()”)code
withcode
anchor.onclick=function(e){var a=e.currentTarget;}<代码>代码因此var a是当前单击的锚,然后您可以执行您想要的操作。