收录日期:2019/12/07 11:51:56 时间:2016/08/27 23:16:56 标签:JavaScript
Qiao0328 于 2013-01-05 09:25:39 编辑 如何获得<li    value='a'> 的value 值:
我是for 循环生成的<li>
 	<%  for (int i = 0; i< caseList.size();i++){
     ht = (java.util.HashMap)caseList.get(i);  
%>
<ul id="tab<%=i%>">
<li class="tabin" id="aaa" value="<%=i%>" onclick="function();">
        <%= ht.get("case") %> </li>

</ul>
        <%}%>
 
我在函数里如何获得li的value 值
document.getElementById("aaa").getAttribute("value");
引用 1 楼 datiexiong 的回复:
document.getElementById("aaa").getAttribute("value");

这样点击所有的li都获得的是第一个的value值;还有别的办法吗
<ul id="tab<%=i%>">
ul有id,然后遍历childNodes ,每个childNode就是li,然后getAttribute
引用 3 楼 datiexiong 的回复:
<ul id="tab<%=i%>">
ul有id,然后遍历childNodes ,每个childNode就是li,然后getAttribute

ul的id 也是动态的,我在js中不好拿的那个变化的i,所以不好处理
可以用document.getElementsByTagName("ul")或者document.getElementsByTagName("li")获取所有ul或者li的数组,然后遍历
楼主可以在li标签里面绑定onclick=“a(this)”事件
function  a(obj){

}
function a(obj){
alert(obj.value);
}
引用 5 楼 datiexiong 的回复:
可以用document.getElementsByTagName("ul")或者document.getElementsByTagName("li")获取所有ul或者li的数组,然后遍历

         var ulNodes = document.getElementsByTagName("ul");
  
  for(var k = 0; k < ulNodes.length; k++) { 
     var ulNode = ulNodes[k];  
     var liNodes = ulNode.getElementsByTagName("li");  
     for(var j = 0; j < liNodes.length; j++) {      
             var liNode = liNodes[j];  
             liNode.onclick = function () {
              var i = document.getElementsByTagName("li")[j].getAttribute("value");                                                                    } 
          }
     }  
我这样点击所有标签,为什么获取的总是最后一个的li的value呢,麻烦你了,呵呵!
理解js里面this的作用
document.getElementById("aaa").value
引用 9 楼 zywm123456 的回复:
理解js里面this的作用
3q

var ulNodes = document.getElementsByTagName("ul");
for(var k = 0; k < ulNodes.length; k++) { 
    var ulNode = ulNodes[k];  
    var liNodes = ulNode.getElementsByTagName("li");  
    for(var j = 0; j < liNodes.length; j++) {      
        var liNode = liNodes[j];  
        liNode.onclick = function (index) {
            return function (){
                var i = document.getElementsByTagName("li")[index].getAttribute("value");
                //do something...
            }
        }(j)
    }
}

var ulNodes = document.getElementsByTagName("ul");
for(var k = 0; k < ulNodes.length; k++) { 
    var ulNode = ulNodes[k];  
    var liNodes = ulNode.getElementsByTagName("li");  
    for(var j = 0; j < liNodes.length; j++) {      
        var liNode = liNodes[j];  
        liNode.onclick = function (index) {
            return function (){
                var i = document.getElementsByTagName("li")[index].getAttribute("value");
                //do something...
            }
        }(j)
    }
}

代码中标记颜色无效……

板主请回答:关于在此技术板块散分 怎么打包? javamail 谁用他群发成功过? 免费的电影网站,编程累的时候,可以轻松一下喔! 这一段加密了的JAVASCRIPT代码原样是什么啊?怎么解密啊?? 数据库图片显示问题 水晶报表导出出错问题! 学习petstore框架,?使用状态会话Bean的问题 多步OLE DB操作产生错误是什么意思啊? 请教: BCB的CodeGuard对API和回调函数的资源检测好象不是很好. 公用对话框 关于JavaMail,以及tomcat下如何设置邮件服务器? 如何用GDI+缩放图像并用灰度级存储为文件??谢过先 请问关于iis服务配置的问题 关于TListView的问题 关于JavaMail,以及tomcat下如何设置邮件服务器? 关于CrystalReport中RecordSelectionFormula的用法(在线等!!!!!!!) 帮帮我,小问题 你无法说:不可爱! stream read error 大数问题!!!!!!!!!!! 谁能告诉我一个好用的Kylix下载地址? vb 能不能实现链表结构????? 一个网络编程的疑问 codeguide 如何关闭窗口中打开的所有窗口 大家能不能帮忙介绍一个可以找到项目合作的地方?? 一个很容易得到的100分!快来啊 请问如何实现这样的效果 在线等待,请教一下!:) 求TogetherForJbuilder Version6.1的注册机