0

我已经尝试了此代码的几种变体,但无法正常工作。我正在尝试使包含表单的 div 出现在另一个 div 中。

$(document).ready(function() {
    $("#buttoncontact").click(function(){
          $("#back").append('<div id="#contact">
             <form>
             Email:<br>
             <input type="text"><br>
             Comments:<br>
             <textarea rows="8" cols="50"></textarea>
             </form>
             </div>');
      });
});

我也尝试只插入没有表单代码的 div,这也不起作用。

你能提供的任何帮助都会很棒。

4

3 回答 3

1

Javascript 不允许以您的方式转到变量或字符串中的新行。

尝试这个:

$(document).ready(function() {
        $("#buttoncontact").click(function(){
            $("#back").append('<div id="#contact"><form>Email:<br><input type="text"><br>Comments:<br><textarea rows="8" cols="50"></textarea></form></div>');
        });
});
于 2013-09-14T19:53:35.590 回答
0

JavaScript 不支持这样的多行字符串;分号会自动添加到行尾。因此,将附加的 HTML 字符串分散到多行可能会导致代码出现语法错误。

您可以将 HTML 字符串压缩为单行,也可以通过使用加号 (+) 连接多个字符串来构建多行字符串:

$("#back").append('<div id="contact">' +
'<form>' +
'Email:<br>' +
'</form>' +
'</div>');

或者,在每行的末尾添加一个反斜杠 (\):

$("#back").append('<div id="contact">\
<form>\
Email:<br>\
</form>\
</div>');
于 2013-09-14T20:04:29.253 回答
0

现场演示

JavaScript 不允许您将字符串分成多行。您可以将整个字符串内容写入一行,或者如果您想使其可读,则将它们与+运算符连接起来。

$(document).ready(function() {
   $("#buttoncontact").click(function(){
      $("#back").append(
         '<div id="#contact">' +
            '<form>' +
               'Email:<br>' +
               '<input type="text"><br>' +
               'Comments:<br>' +
               '<textarea rows="8" cols="50"></textarea>' +
            '</form>' +
         '</div>'
      );
   });
});
于 2013-09-14T19:54:51.277 回答