问答详情
源自:9-22 编程练习

请大家帮我看一下为什么我这个function不行?

   function add(){

        var table=document.getElementById('table');

        var tr=document.createElement('tr');

        table.appendChild(tr);

        var xh=document.createElement('td');

        xh.innerHTML="xh003";

        var xm=document.createElement('td');

        xm.innerHTML="请输入姓名";

        var cz=document.createElement('td');

        cz.innerHTML="<a href="javascript:del()">删除</a>"

        tr.appendChild(xh);

        tr.appendChild(xm);

        tr.appendChild(cz);

        var tr=document.getElementsByTagName('tr');

        for(i=0;i<tr.length;i++){

            changebgc(tr[i]);

        }

        

    }


提问者:weibo_阿海dick_0 2016-03-06 18:54

个回答

  • 邬在想
    2016-03-06 23:33:51

    document.getElementById使用错误,“table“这个是标签名,也就是TagName而并非id。

    这个其实在前面的课程有讲过,题主可以温习一下区别:

    http://www.imooc.com/code/3251

    以人来举例说明,人有能标识身份的身份证,有姓名,有类别(大人、小孩、老人)等。

    1. ID 是一个人的身份证号码,是唯一的。所以通过getElementById获取的是指定的一个人。

    2. Name 是他的名字,可以重复。所以通过getElementsByName获取名字相同的人集合。

    3. TagName可看似某类,getElementsByTagName获取相同类的人集合。如获取小孩这类人,getElementsByTagName("小孩")。

    把上面的例子转换到HTML中,如下:

    <input type="checkbox" name="hobby" id="hobby1">  音乐

    input标签就像人的类别。

    name属性就像人的姓名。

    id属性就像人的身份证。

    方法总结如下:

    注意:方法区分大小写

    通过下面的例子(6个name="hobby"的复选项,两个按钮)来区分三种方法的不同:

     <input type="checkbox" name="hobby" id="hobby1">  音乐
     <input type="checkbox" name="hobby" id="hobby2">  登山
     <input type="checkbox" name="hobby" id="hobby3">  游泳
     <input type="checkbox" name="hobby" id="hobby4">  阅读
     <input type="checkbox" name="hobby" id="hobby5">  打球
     <input type="checkbox" name="hobby" id="hobby6">  跑步
     <input type="button" value = "全选" id="button1">
     <input type="button" value = "全不选" id="button1">

    1. document.getElementsByTagName("input"),结果为获取所有标签为input的元素,共8个。

    2. document.getElementsByName("hobby"),结果为获取属性name="hobby"的元素,共6个。

    3. document.getElementById("hobby6"),结果为获取属性id="hobby6"的元素,只有一个,"跑步"这个复选项。

     


  • fantasy943
    2016-03-06 23:23:52

     var table=document.getElementById('table');

    这个应该用document.getElementByTagName()吧