使用JavaScript在html中动态添加文本框(发生语法错误) var i=1; 函数addkid(){ 如果(i

使用JavaScript在html中动态添加文本框(发生语法错误) var i=1; 函数addkid(){ 如果(i,javascript,html,dynamic,textbox,Javascript,Html,Dynamic,Textbox,此赋值中的字符串文字有问题: <!DOCTYPE html> <html> <head> <script type="text/javascript"> var i =1; function addkid(){ if(i<=3){ i++; var div=document.createElement('div');

此赋值中的字符串文字有问题:

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript">
        var i =1;
        function addkid(){
            if(i<=3){
                i++;
                var div=document.createElement('div');
                div.innerHTML="Child:<input type="text" name="child_1">
                <input type="button" id="add_kid()" onclick="addkid()" value="+" />
                    <input type="button" value="-" onclick="removekid(this)">";
                 document.getElementById('kids').appendChild(div);
            }
        }
        function removekid(div){
            document.getElementById('kids'.removeChild(div.parentNode);
                                    i--;
                                    }


    </script>
</head>
    <body>
        <form>
            Name: <input type="text" name="name"><br/>
            <div id="kids">
                Child:<input type="text" name="child_1">
                <input type="button" id="add_kid()" onclick="addkid()" value="+" />(limit 3) 


            </div>
            Phone: <input type="text" name="phone"><br/>
            <input type="submit" name="submit" value="submit" />        

        </form>

    </body>

</html>
或者,可以用单引号将字符串括起来,然后不必转义双引号:

div.innerHTML = "Child:<input type=\"text\" name=\"child_1\">"
  + " <input type=\"button\" id=\"add_kid()\" onclick=\"addkid()\" value=\"+\" />"
  + " <input type=\"button\" value=\"-\" onclick=\"removekid(this)\">";
展开以下代码段以查看上述问题已修复,并且代码正常工作:

var i=1;
函数addkid(){

如果(i)错误是否告诉您错误发生在哪一行?如果您在浏览器控制台中查看,则应将行号显示为链接,如果单击它,则应显示突出显示问题的实际代码。(实际上,堆栈溢出应用于代码的基于颜色的语法高亮显示显示了问题:您没有跳过行
div.innerHTML=…
)中的嵌套引号)“Child:这行给出了错误,您能纠正它吗?Thanx,尽管现在没有出现错误:)当”+“没有添加新的文本框:(在
removekid()
中有一个错误。我已经更新了我的答案,并包含了一个正在运行的演示。我更正了现在没有错误,但是不会添加新的文本框。我无法解释这一点,除非您在浏览器控制台中有进一步的错误消息。”(无论是在加载页面时还是在按下“添加”按钮时)。从我的回答中的演示可以看出,我显示的代码很有效。Thanx非常有帮助:)我昨天一整天都在忙这个
div.innerHTML = "Child:<input type=\"text\" name=\"child_1\">"
  + " <input type=\"button\" id=\"add_kid()\" onclick=\"addkid()\" value=\"+\" />"
  + " <input type=\"button\" value=\"-\" onclick=\"removekid(this)\">";
div.innerHTML = 'Child:<input type="text" name="child_1">'
  + ' <input type="button" id="add_kid()" onclick="addkid()" value="+" />'
  + ' <input type="button" value="-" onclick="removekid(this)">';
    div.innerHTML = 'Child:<input type="text" name="child_1"> <input type="button" id="add_kid()" onclick="addkid()" value="+" /> <input type="button" value="-" onclick="removekid(this)">';
document.getElementById('kids'.removeChild(div.parentNode);