fymxc1986的方法可以一试,如果是一些复杂的方法,可以用eval,就用你说的写个例子:
function createFunc(num){eval("function test"+num+"(){document.form"+num+".WS_Department.length = 0}")
}
简单的不需要这么弄,就写一个共用的,能不用eval就别用。eval函数很强大,有很多有意思的应用,你可以多去尝试。
JS动态调用方法名1.方法就是使用js里面的eval 下面是自己写的例子 代码如下: call("showmsg")functioncall(functionName){ eval("this."+functionName+"()")}functionshowmsg(){ alert("success")} eval能将你拼接的字符串自动识别为方法,并调用。 但弊端也是很大的,想象一下,某个人改你调用地方的方法名,便能调用你的任意方法。
2.方法主要用作自己定义的方法 主要是第二种方法需要特定的方式去写 代码如下: functioncall(functionName) { showmsgs["showmsg"]()}varshowmsgs
当我们在写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动态创建标签,并设置属性方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:JS实现给对象动态添加属性的方法JS中动态创建元素的三种方法总结(推荐)js动态创建标签示例代码使用变量动态设置js的属性名