通过js动态创建标签,并设置属性方法
程序员文章站
2022-04-09 12:55:54
当我们在写jsp页面时,往往会遇到这种情况:从后台获取的数据个数不确定,此时在前端写jsp页面时也就不确定怎么设计了。这个时候就需要通过js动态创建标签:
1.创建某个标...
当我们在写jsp页面时,往往会遇到这种情况:从后台获取的数据个数不确定,此时在前端写jsp页面时也就不确定怎么设计了。这个时候就需要通过js动态创建标签:
1.创建某个标签:如下在body中创建一个div的事例;
<script> function fun(){ var framediv = document.createelement("div");//创建一个标签 var bodyfa = document.getelementbyid("bodyid");//通过id号获取framediv 的父类(也就是上一级的节点) bodyfa .appendchild(framediv);//把创建的节点framediv 添加到父类body 中; } <script> <body id="bodyid" > <!--在此添加div标签--> </body>
2.添加属性:给创建的标签添加相应的属性:
framediv .setattribute("id", "divid");//给创建的div设置id值; framediv .classname="divclass"; //给创建的div设置class; //给某个标签添加显示的值; var h = document.createelement("h1"); h.innerhtml = data[i].name; var p = document.createelement("p"); p.innerhtml = "要显示的值";
3.创建的标签添加事件:
a.不带参数:
framediv.onmousedown = fun;//ps:函数名fun后面一定不能带括号,否则会在创建标签的时候执行函数, 而不是鼠标按下时执行;
b.有参数:
framediv.onmousedown = function(){ fun(this); }
c.要调用的函数;
function fun(){ alert("鼠标按下"); }
4.如果担心创建的标签没有被覆盖则可以替换:
var divflag = document.getelementbyid("divflag"); var divmain = document.createelement("div"); if(divflag != null){ body.replacechild(divmain, divflag);//把原来的替换掉 } divmain.setattribute("id", "divflag");
以上这篇通过js动态创建标签,并设置属性方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。