如何获得
  • 的value 值
  • Qiao0328 2013-01-05 09:22:52
    如何获得<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 值
    ...全文
    267 13 打赏 收藏 转发到动态 举报
    写回复
    用AI写文章
    13 条回复
    切换为时间正序
    请发表友善的回复…
    发表回复
    likeajin 2013-01-05
    • 打赏
    • 举报
    回复
    
    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)
        }
    }
    
    代码中标记颜色无效……
    likeajin 2013-01-05
    • 打赏
    • 举报
    回复
    
    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)
        }
    }
    
    Qiao0328 2013-01-05
    • 打赏
    • 举报
    回复
    引用 9 楼 zywm123456 的回复:
    理解js里面this的作用
    3q
    程序媛小李 2013-01-05
    • 打赏
    • 举报
    回复
    document.getElementById("aaa").value
    zywm123456 2013-01-05
    • 打赏
    • 举报
    回复
    理解js里面this的作用
    Qiao0328 2013-01-05
    • 打赏
    • 举报
    回复
    引用 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呢,麻烦你了,呵呵!
    zywm123456 2013-01-05
    • 打赏
    • 举报
    回复
    function a(obj){ alert(obj.value); }
    zywm123456 2013-01-05
    • 打赏
    • 举报
    回复
    楼主可以在li标签里面绑定onclick=“a(this)”事件 function a(obj){ }
    爱若如梦 2013-01-05
    • 打赏
    • 举报
    回复
    可以用document.getElementsByTagName("ul")或者document.getElementsByTagName("li")获取所有ul或者li的数组,然后遍历
    Qiao0328 2013-01-05
    • 打赏
    • 举报
    回复
    引用 3 楼 datiexiong 的回复:
    <ul id="tab<%=i%>"> ul有id,然后遍历childNodes ,每个childNode就是li,然后getAttribute
    ul的id 也是动态的,我在js中不好拿的那个变化的i,所以不好处理
    爱若如梦 2013-01-05
    • 打赏
    • 举报
    回复
    <ul id="tab<%=i%>"> ul有id,然后遍历childNodes ,每个childNode就是li,然后getAttribute
    Qiao0328 2013-01-05
    • 打赏
    • 举报
    回复
    引用 1 楼 datiexiong 的回复:
    document.getElementById("aaa").getAttribute("value");
    这样点击所有的li都获得的是第一个的value值;还有别的办法吗
    爱若如梦 2013-01-05
    • 打赏
    • 举报
    回复
    document.getElementById("aaa").getAttribute("value");

    87,910

    社区成员

    发帖
    与我相关
    我的任务
    社区描述
    Web 开发 JavaScript
    社区管理员
    • JavaScript
    • 无·法
    加入社区
    • 近7日
    • 近30日
    • 至今
    社区公告
    暂无公告

    试试用AI创作助手写篇文章吧