在jsp中如何使用js获取<% %>动态添加的标签对象?
<%out.print("<divname=\"divPro\">");out.print("</div>");out.print("<divname=\"divPro\...
<%
out.print("<div name=\"divPro\">");
out.print("</div>");
out.print("<div name=\"divPro\">");
out.print("</div>");
out.print("<div name=\"divPro\">");
out.print("</div>");
out.print("<div name=\"divPro\">");
out.print("</div>");
%>
<script type="text/javascript">
function show(){
var names = document.getElementsByName("divPro");
alert(names);//显示object说明确实取得对象了
alert(names.length);//这里却显示0说明names数组中没有元素
}
</script>
请问这是怎么回事,还请高手帮忙解决!
一楼的很感谢你的回答,但是你并没有回答我所要的答案。。。是我没写清楚,是我的错!现在补充一点:页面中有很多很多的代码,以上所给出的只是众多代码中的一小块,直接用document.getElementsByName("divPro"); 来获取根本就得不到name="divPro"的DIV对象!(如果页面中只有这一点代码是完全有作用的)
需要回答的问题是:
1.为什么页面中只有这一点代码时document.getElementsByName("divPro");是有作用的,可以获取对象,而代码多了之后会失效!
2.用什么方法解决 1 中的问题?
附上:现在我虽然用其他方法解决了此问题,但是很繁琐,所以希望大家能够提供点最有效最简洁的方法! 展开
out.print("<div name=\"divPro\">");
out.print("</div>");
out.print("<div name=\"divPro\">");
out.print("</div>");
out.print("<div name=\"divPro\">");
out.print("</div>");
out.print("<div name=\"divPro\">");
out.print("</div>");
%>
<script type="text/javascript">
function show(){
var names = document.getElementsByName("divPro");
alert(names);//显示object说明确实取得对象了
alert(names.length);//这里却显示0说明names数组中没有元素
}
</script>
请问这是怎么回事,还请高手帮忙解决!
一楼的很感谢你的回答,但是你并没有回答我所要的答案。。。是我没写清楚,是我的错!现在补充一点:页面中有很多很多的代码,以上所给出的只是众多代码中的一小块,直接用document.getElementsByName("divPro"); 来获取根本就得不到name="divPro"的DIV对象!(如果页面中只有这一点代码是完全有作用的)
需要回答的问题是:
1.为什么页面中只有这一点代码时document.getElementsByName("divPro");是有作用的,可以获取对象,而代码多了之后会失效!
2.用什么方法解决 1 中的问题?
附上:现在我虽然用其他方法解决了此问题,但是很繁琐,所以希望大家能够提供点最有效最简洁的方法! 展开
2个回答
展开全部
我们访问一个jsp页面时,运行简单示意图如下
先执行jsp程序 --- 》再执行HTML 和 JavaScript
我看一下程序
<%
out.print("<div name=\"divPro\">");
out.print("</div>");
out.print("<div name=\"divPro\">");
out.print("</div>");
out.print("<div name=\"divPro\">");
out.print("</div>");
out.print("<div name=\"divPro\">");
out.print("</div>");
%>
这一段执行之后 页面中多了 4行代码
<div name="divPro"></div>
<div name="divPro"></div>
<div name="divPro"></div>
<div name="divPro"></div>
<script type="text/javascript">
function show(){
var names = document.getElementsByName("divPro");
alert(names);//显示object说明确实取得对象了
alert(names.length);//这里却显示0说明names数组中没有元素
}
</script>
这个时候 那就相当于 html+JavaScript 的交互了
这个不难了吧
先执行jsp程序 --- 》再执行HTML 和 JavaScript
我看一下程序
<%
out.print("<div name=\"divPro\">");
out.print("</div>");
out.print("<div name=\"divPro\">");
out.print("</div>");
out.print("<div name=\"divPro\">");
out.print("</div>");
out.print("<div name=\"divPro\">");
out.print("</div>");
%>
这一段执行之后 页面中多了 4行代码
<div name="divPro"></div>
<div name="divPro"></div>
<div name="divPro"></div>
<div name="divPro"></div>
<script type="text/javascript">
function show(){
var names = document.getElementsByName("divPro");
alert(names);//显示object说明确实取得对象了
alert(names.length);//这里却显示0说明names数组中没有元素
}
</script>
这个时候 那就相当于 html+JavaScript 的交互了
这个不难了吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询