jQuery,函数.html正确的语法

时间:2015-11-03 21:15:04

标签: javascript jquery

不知怎的,我遇到了语法问题。我这里有这个代码

$('#logoutput').html("<div id=\"loginbox\" class=\"boxgrid\">Username: <form action=\"\" method=\"post\"><input class=\"textfieldcss\" type=\"text\" name=\"loginname\" value="+$userip+"\">Password: <form action=\"\" method=\"post\"><input class=\"textfieldcss\" type=\"hidden\" name=\"loginpass\" value="+$userpw+"\"></div>");

如果内容仅为:

$('#logoutput').html("<div id=\"loginbox\" class=\"boxgrid\">Username: <form action=\"\" method=\"post\"><input class=\"textfieldcss\" type=\"text\" name=\"loginname\">"

它没有向我显示错误。

这可能是因为我在jQuery函数中实现了错误的变量吗?

2 个答案:

答案 0 :(得分:1)

不是您问题的真实答案,但它可以帮助您减少问题:不要使用这样的字符串。至少使用模板。有很多库可以为你做模板,但至少做一些类似的事情:

<script type="text/html" id="mooTemplate">
  <div id="loginbox" class="boxgrid">
    Username:
    <form action="" method="post">
    <input class="textfieldcss" type="text" name="loginname" value="{{ userip }}">
    Password:
    <form action="" method="post">
    <input class="textfieldcss" type="hidden" name="loginpass" value="{{ userpw }}">
  </div>
</script>

然后交换它:

var templateHTML = $("#mooTemplate").text()
                   .replace(/{{ userip }}/, userip)
                   .replace(/{{ userpw }}/, userpw);
$(target).html(templateHTML);

尽管如此,不要自己动手,只需使用网上提供的众多预制模板解决方案中的一种。我个人喜欢nunjucks,但还有很多其他人。

答案 1 :(得分:0)

This似乎有效:

$('#logoutput').html('<div id=\"loginbox\" class=\"boxgrid\">Username: <form action=\"\" method=\"post\"><input class=\"textfieldcss\" type=\"text\" name=\"loginname\" value="'+$userip+'"\">Password: <form action=\"\" method=\"post\"><input class=\"textfieldcss\" type=\"hidden\" name=\"loginpass\" value='+$userpw+'"\"></div>');