JavaScript createElement qn

时间:2010-02-24 07:42:21

标签: javascript dom

为什么这段代码不起作用? 当我使用评论的部分代替表时,它的工作原理...... 使用表为什么不能工作?

<html>
    <head>
        <script type="text/javascript">
        function addLine() {
            var p = document.createElement('p');
            p.innerHTML = "hello";
            document.getElementById("addline").appendChild(p);
        }

        </script>
    </head>
    <body>
    <!--
    <input type="submit" value="New Line" onClick="addLine()"/>
    <div id="addline"></div>
    -->
        <table>
            <tbody>
                <tr>inside a table</tr>
            </tbody>
            <tfoot>
                <tr><input type="submit" value="New Task" onClick="addLine()"/></tr>
                <tr id="addline"></tr>
            </tfoot>                        
        </table>
    </body>
</html>

3 个答案:

答案 0 :(得分:2)

您尝试将<p>元素附加到<tr>元素,但只允许<td><th>个元素。

答案 1 :(得分:1)

(删除了答案,但没有删除它以保留评论。我对问题1的回答是错误的[感谢大卫]你删除了问题2,所以......)

答案 2 :(得分:1)

你只能附加到&lt; td&gt; ...

而不是:

<tr id="addline"></tr>

使用:

<tr><td id="addline"></td></tr>

对于第二个问题,“for”是许多语言中的保留关键字。你不能使用它,如果你找到了一种方法[setAttribute或类似的东西,而不是我已经测试过,我只是在猜测它的错误的编程习惯。

也许你可以使用变量名“isFor”或“usage”= / idk