<table><tr><td>
<li id="tag" ><a href="">aaa</a></li>
<li id="" ><a href="">bbb</a></li>
<li id="" ><a href="">ccc</a></li>
<li id="" ><a href="">ddd</a></li>
<li id="" ><a href="">eee</a></li>
</td></tr><table>
我现在想要的效果就是点击aaa,第一个<li>标签的id就变成tag,其他的为空。点击第二个,第二个的id变成tag,其他的又变成空。意思就是点击其中一个的连接,被点击的<li>标签的id变成tag,其他的<li>标签的id就会边成空值,或者其他值也可以。
请js高手指点一二.

解决方案 »

  1.   

    呵,真是什么样的怪需求都有啊。
    实现起来也不难,给每个li加onclick处理器,在处理器中,遍历所有的li元素,判断如果是当前的元素,就改id为tag,不是就改为空。
      

  2.   

    寒!你说起来倒觉得挺简单得。你写个试试。我写了好久就是不见效果,能把我选的id变成tag,但同时不能把其他的改成空
      

  3.   

    写一个吧:function changId()
    {
       document.getElementById("li的id").id="tag";
       document.getElementById("其他li的id")="其他值";//有几个li就重复几次
    }<li id="tag" > <a href="javascript:changId()">aaa </a> </li> //所有的li都加上这是最简单也是最直接的方法
      

  4.   

    补充一下:function changId(liId) 

      document.getElementById(liId).id="tag"; 
      document.getElementById("其他li的id")="其他值";//有几个li就重复几次 
    } <li id="tag" > <a href="javascript:changId(该li的id)">aaa </a> </li> //所有的li都加上 这是最简单也是最直接的方法
      

  5.   

     <li id="tag" > <a href="javascript:test(this)">aaa </a> </li> //所有的li都加上 function test(this){
    var objLi = document.getElementsByTagName("li");
      for(var i=0;i<objLi.length;i++){
          objLi.id = ""
      }
      element.id="tag";
    }如果你页面只有这一组li标签的话,这个方法可行
    若不是就得别想办法
      

  6.   

    <html>
    <head>
    <title>123</title>
    </head>
    <script type="text/javascript">
    function change(o){ o.id = "tag";
    alert(document.getElementById("tag").value); }
    </script>
    <body><table> <tr> <td> 
    <li id="" onclick="change(this)" value="222"> <a href="" >aaa </a> </li> 
    <li id="" onclick="change(this)" value="333"> <a href="">bbb </a> </li> 
    <li id="" onclick="change(this)" value="444"> <a href="">ccc </a> </li> 
    <li id="" onclick="change(this)" value="555"> <a href="">ddd </a> </li> 
    <li id="" onclick="change(this)" value="666"> <a href="">eee </a> </li> 
    </td> </tr> <table> 
    </body>
    </html>alert(document.getElementById("tag").value);用来测试是得到了哪个id的值的
      

  7.   

    再说,li元素哪有这么用的,外面也没有ul或ol来包上
      

  8.   

    E6和FF通过:
    <style>
    #tag{
    background-color:blue;
    }
    </style>
    <table id="table1">
    <tr>
    <td> 
    <li id="tag"><a href="javascript:void(0);" onclick="changeId(this.parentNode)">aaa</a></li> 
    <li id="" ><a href="javascript:void(0);" onclick="changeId(this.parentNode)">bbb</a></li> 
    <li id="" ><a href="javascript:void(0);" onclick="changeId(this.parentNode)">ccc</a></li> 
    <li id="" ><a href="javascript:void(0);" onclick="changeId(this.parentNode)">ddd</a></li> 
    <li id="" ><a href="javascript:void(0);" onclick="changeId(this.parentNode)">eee</a></li> 
    </td>
    </tr>
    <table><script>
    var theTable = document.getElementById("table1");function changeId(theLi){ 
    var objLi = theTable.getElementsByTagName("li"); 
    for(var i=0;i <objLi.length;i++){
    objLi[i].id = "";

    theLi.id="tag"; 
    }
    </script>
      

  9.   

    <li id="l1" onclick="change(this);"><a href="#">aaa</a></li>
    <li id="l2" onclick="change(this);"><a href="#">bbb</a></li>
    <li id="l3" onclick="change(this);"><a href="#">ccc</a></li>
    <li id="l4" onclick="change(this);"><a href="#">ddd</a></li>
    <li id="l5" onclick="change(this);"><a href="#">eee</a></li>
    <script type="text/javascript">
            function change(o) {
    var lis = document.getElementsByTagName('li');

    // display ids first
    for (var i = 0; i < lis.length; i++) {
    console.log(i + ':before change:' + lis[i]);
    } // just simple
    for (var i = 0; i < lis.length; i++) {
    lis[i].id = '';
    }
    o.id = 'tag';

    // test below
    for (var i = 0; i < lis.length; i++) {
    console.log(i + ':after change:' + lis[i].id);
    }
    }
    </script>