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是逐行扫描的。
放置到<div>后面
html是逐行扫描的。
#3
顺序问题。想放上面的话,你可以在你的js外面加个window.onload = function(){}
#4
把JS 放到 body 结束标签后面就好了,html加载解析顺序是从上往下逐行解析的,按你这写法,当解析你取值的那行的时候,其实你索取对象还是没加载的,根本还不存在,所以取不到值
#5
jquery
$("#id").arrt("value");
$("#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是逐行扫描的。
放置到<div>后面
html是逐行扫描的。
#3
顺序问题。想放上面的话,你可以在你的js外面加个window.onload = function(){}
#4
把JS 放到 body 结束标签后面就好了,html加载解析顺序是从上往下逐行解析的,按你这写法,当解析你取值的那行的时候,其实你索取对象还是没加载的,根本还不存在,所以取不到值
#5
jquery
$("#id").arrt("value");
$("#id").arrt("value");