1、获取ul标签下li的内容
<head>
<title>无标题页</title>
</head>
<body>
<ul>
<li>test1</li>
<li>test2</li>
<li>test3</li>
<li>test4</li>
<li>test5</li>
<li>test6</li>
</ul>
<script type="text/javascript">
var ul = document.getElementsByTagName("ul")[0];
var li = ul.getElementsByTagName("li");
for(var i=0;i<li.length;i++){
li[i].οnclick=function(){
alert(this.innerHTML) //显示test1 。。。。
}
}
</script>
</body>
</html>
2、获取ul 下 li的value值
<html>
<script src="jquery-1.9.1.js"></script>
<script>
function swit(){
var ul = document.getElementsByTagName("ul")[0];
var li = ul.getElementsByTagName("li");
for(var i=0;i<li.length;i++){
li[i].οnclick=function(){
alert(this.getAttribute("value")); //显示"你好" ...
}
}
}
</script>
<ul>
<li value="你好" οnmοuseοver="swit()" id="ddd">cz</li>
<li value="hello" οnclick="swit()">xa</li>
<li value="=-=" οnclick="swit()">scsc</li>
</ul>
</html>
遇到的问题:
1、刚开始在js取值问题,点击li,但第一次点不行,第二次就输出了li里面的value值
刚开始自己的代码是这样的:
<li id="tag1" value="2"οnclick="switchTag();this.blur();">
原因:第一次点不行是因为你的<li>的onclick函数是在你进行了一次<ul>的onclick事件后才生成的,所以第一次点击并没有执行<li>的onclick函数(仅仅生成<li>的onclick函数)。
解决:可以把<ul id="type_ul" οnclick="choose()">改成<ul id="type_ul" οnmοuseοver="choose()">,这样你的鼠标放在<ul>上马上就生成了<li>的onclick函数,这样就可以了然后将这句话改成以下: <li id="tag1" value="1"οnmοuseοver="switchTag();this.blur();">这样在第一次点击时就能取到ui中li的value值。
2、并且一下这段是刚开始写的为了取得value值的代码:
function switchTag(){
$("#tag1").bind("click",function(){
var id = $(this).val();
alert(id);
});
}
这段代码在运行时总是会显示好几次ul中li下的value值,并且有时随着点击次数的增加弹出的value值会不断增加,这个问题到目前为止还不知道其真正的原因,有待进一步解决。
还有一个问题是当这样写代码时
function swit(){
var ul =document.getElementsByTagName("ul")[0];
var li =ul.getElementsByTagName("li");
for(var i=0;i<li.length;i++){
li[i].οnclick=function(){
alert($(this).val); //输出的总是0
}
}
}
这个问题也还没解决,待续。。。。。