js中怎么获取、li 标签中的中的value属性的值

时间:2022-12-09 00:08:18
<script type="text/javascript">


  var ul=document.getElementById("UlLi").getElementsByTagName("li");
            for(var i=0;i<ul.length;i++){
               var cityid=ul[i].getAttribute("value");
   alert("cityid=="+cityid);
            
            }

</script>


<div>
       <ul id="UlLi">
        <li value="11a">111a</li>
 <li value="22">22a</li>
 <li value="333">33a</li>
 <li value="44">44a</li>
       </ul>
</div> 


---------------------------------

为什么这样获取不到值、急求高手回复、谢谢。

5 个解决方案

#1


加载顺序
<!DOCTYPE html>
<html>
<head>
 

</head>
<body>
<div>
       <ul id="UlLi">
        <li value="11a">111a</li>
 <li value="22">22a</li>
 <li value="333">33a</li>
 <li value="44">44a</li>
       </ul>
</div> 
<script>
  var ul=document.getElementById("UlLi").getElementsByTagName("li");
            for(var i=0;i<ul.length;i++){
               var cityid=ul[i].getAttribute("value");
   alert("cityid=="+cityid);
            
            }

</script>
</body>
</html>

#2


<script></script>
放置到<div>后面

html是逐行扫描的。

#3


顺序问题。想放上面的话,你可以在你的js外面加个window.onload = function(){}

#4


把JS  放到 body 结束标签后面就好了,html加载解析顺序是从上往下逐行解析的,按你这写法,当解析你取值的那行的时候,其实你索取对象还是没加载的,根本还不存在,所以取不到值

#5


jquery
$("#id").arrt("value");

#1


加载顺序
<!DOCTYPE html>
<html>
<head>
 

</head>
<body>
<div>
       <ul id="UlLi">
        <li value="11a">111a</li>
 <li value="22">22a</li>
 <li value="333">33a</li>
 <li value="44">44a</li>
       </ul>
</div> 
<script>
  var ul=document.getElementById("UlLi").getElementsByTagName("li");
            for(var i=0;i<ul.length;i++){
               var cityid=ul[i].getAttribute("value");
   alert("cityid=="+cityid);
            
            }

</script>
</body>
</html>

#2


<script></script>
放置到<div>后面

html是逐行扫描的。

#3


顺序问题。想放上面的话,你可以在你的js外面加个window.onload = function(){}

#4


把JS  放到 body 结束标签后面就好了,html加载解析顺序是从上往下逐行解析的,按你这写法,当解析你取值的那行的时候,其实你索取对象还是没加载的,根本还不存在,所以取不到值

#5


jquery
$("#id").arrt("value");