没有现成的java或jsp等的标签完成从java到js的代码转换,只能手动转。如下。
以下部分是伪代码(jsp有段时间没用了):
<jsp>
//这里假设list是中放的是String
String arrayStr = "[";
for(list){
array += list[i]+",";
}
arrayStr += "]";
</jsp>
<javascript>
var array = eval(<jsp>write(arrayStr);</jsp>);
</javascript>
一般的做法是将map对象转成json在jsp页面中输出,js直接得到的就是json对象,便利json使用for循环即可
for(k in json){
alert(k + "=" + json[k])
}
这个……这个怎么可以呢?
div是不支持name属性的
也就是说,你给div赋了name属性,如果是程序赋的,那就等于没赋值,如果是手工赋的,那也照样得不到,比如下面的这段代码就证明这一点:
————————————————————————
<html>
<head>
<title>aboutName</title>
<script type="text/javascript">
onload = function(){
documentgetElementById("fdsa")name = 'nn';
alert(documentgetElementsByName("nn")[0]id);
}
</script>
</head>
<body>
<div id="fdsa"></div>
</body>
</html>
————————————————————————
但是,支持name属性的标签却可以取到值(IE也一样取不到,但是如果你的name不是由程序赋值,而是手工:<input id='fdsa' name='nn'></input>这样,IE却可以取到):
——————————————————————
<html>
<head>
<title>aboutName</title>
<script type="text/javascript">
onload = function(){
documentgetElementById("fdsa")name = 'nn';
alert(documentgetElementsByName("nn")[0]id);
}
</script>
</head>
<body>
<input id="fdsa"></input>
</body>
</html>
————————————————————
IE下的测试:
————————————————————————————
<html>
<head>
<title>aboutName</title>
<script type="text/javascript">
onload = function(){
alert(documentgetElementsByName("nn")[0]id);
}
</script>
</head>
<body>
<input id="fdsa" name="nn"></input>
</body>
</html>
————————————————
如果你非要取得集合,如果你要取得的div比较集中,有规律,比如说它是一个div下的子标签,那么可以通过documentgetElementsByTagName的方法来取得。
如果这样的方式不行,你还可以使用getElementsByClassName的方式,但是,我要提醒你的是,getElementsByClassName在低版本的IE浏览器中是不支持的,当然,有的是办法解决,比如下面的这个自定义函数就可以解决这个问题:
function gC(tag,obj){
if(typeof documentgetElementsByClassName !='function'){
return falseGetElemnetByClassName(tag, obj);
}else{
if(obj==null) return documentgetElementsByClassName(tag);
else return objgetElementsByClassName(tag);
}
function falseGetElemnetByClassName(cN,obj){
if(obj==null) var d=document;
else var d=obj;
var e=dgetElementsByTagName('');
var c=new RegExp('\\b'+cN+'\\b');
var r=[];
for(var i=0,l=elength;i<l;i++){
var n=e[i]className;
if(ctest(n)) rpush(e[i]);
}
return r;
}
}
然后你就可以使用gC('className', parentElementObj)来取得这些标签的集合了(第二个参数可以没有)。
办法应该不止这一点,你完全可以根据你的程序流程,来考虑比我告诉你的方案还更高效的办法,当然要看一看你自己的程序最初是如何给这些div赋name或className这样的值的,如果你是手到添加的,那当我没说。
var allpage=documentgetElementById("box")getElementsByTagName("a")length;
allpage-=2;
for (i=1;i<=allpage;i+=1) {
documentgetElementById("box")getElementsByTagName("a")[i]stylecolor="red";}
var tab=documentgetElementById('tableId');
var trs=tabgetElementsByTagName('tr');
这样就取到了所有tr。trs是一个对象,包含所有tr的集合。
以上就是关于如何在javascript中获取从Action中传送过来的一个List集合中的某一个值呢全部的内容,包括:如何在javascript中获取从Action中传送过来的一个List集合中的某一个值呢、如何用JS获取后台MAP中集合的值、javascript 求DIV的集合问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)