<script>
var p = "alert('456')";
document.getElementById("y").onclick=function(){
p;
}
</script>
p只是一个字符串而已,你想让它当成代码运行,这么写是没可能的
var p = "alert('456')";
document.getElementById("y").onclick=function(){
p;
}
</script>
p只是一个字符串而已,你想让它当成代码运行,这么写是没可能的
document.getElementById("y").onclick=function(){
p;
}
这么写试试
<script>
var p = "alert('456')";
document.getElementById("y").onclick=function(){
eval(p) ;
}
</script>
<script>
document.getElementById("x").onclick=function(){
alert("123");
}
</script> <a id="y">456 </a>
<script>
var p = "456";
document.getElementById("y").onclick=function(){
alert(p);
}
</script>
<SCRIPT LANGUAGE="JavaScript">
<!--
var p = function(){alert('456');};
document.getElementById("y").onclick=function(){
p();
}
//-->
</SCRIPT>
<script>
document.getElementById("x").onclick=function(){
alert("123");
}
</script> <a id="y">456 </a>
<script>
var p = "alert('456')";
document.getElementById("y").onclick=function(){
eval(p);
}
</script>
而楼上的方法把function赋值给P(object)变量 ,
楼上的可行
现还有个实际的数组问题,代码如下:<script>
var aryName=["从小到大排序","从大到小排序","取消"];
var aryCode=["alert('1')","alert('2')","alert('3')"];
function DrawDiv(arrayA,arrayB,obj){
var aryElement = [];
var br = document.createElement("br");
var thediv = document.createElement("<div name='customerDiv'>");
thediv.style.width = 120;
thediv.style.height = 100;
thediv.style.left = 500;
thediv.style.top = 600;
thediv.style.zIndex = 50;
thediv.style.position = "absolute";
thediv.style.border = 1;
thediv.style.borderStyle = "solid";
thediv.style.borderColor ="#DDD"
for (i=0;i<arrayA.length;i++){
var t = i;
aryElement[i] = document.createElement("<a name='customerDivA'>");
aryElement[i].style.display="block"
aryElement[i].innerHTML = arrayA[i];
aryElement[i].onclick = function(){
eval(arrayB[t]);
}
thediv.appendChild(aryElement[i]);
} document.body.appendChild(thediv);
}
</script><input type="button" value="按钮" onclick="DrawDiv(aryName,aryCode,this)">我要求,点击第一个a,alert("1"),第二个a,alert("2"),第三个a,alert("3")。实际情况是每次都是alert("3"),请帮忙解决红色BUG