我正在尝试将 HTML 存储在 Javascript 变量中,以便将来易于阅读和编辑。
我已经这样做了:
var form = [
"<fieldset>",
" <label></label>",
"</fieldset>" ].join("\n");
唯一的事情是我希望它比将来更容易编辑,可能将它存储在 PHP 中的一个变量中(如果这更容易的话),然后对其进行编码或其他东西。
将会有更多的HTML
我正在尝试将 HTML 存储在 Javascript 变量中,以便将来易于阅读和编辑。
我已经这样做了:
var form = [
"<fieldset>",
" <label></label>",
"</fieldset>" ].join("\n");
唯一的事情是我希望它比将来更容易编辑,可能将它存储在 PHP 中的一个变量中(如果这更容易的话),然后对其进行编码或其他东西。
将会有更多的HTML
在 PHP 变量中:
$form =<<<FORM
<fieldset>
<label></label>
</fieldset>
FORM;
http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc
如果您提到的 PHP 选项是您想要的方式,那么一个选项(非常易读且易于编辑)将类似于:
$out = '<div>';
$out .= '<p>Hello, World</p>';
$out .= '</div>;
最大的优势(我认为)是这使您可以自由缩进以提高可读性。显然是一个非常简单的例子,但希望这一点得到了理解。
您可以通过在每行添加反斜杠来编写多行字符串:
我会使用 jQuery 模板。
http://blog.reybango.com/2010/07/09/not-using-jquery-javascript-templates-youre-really-missing-out/
你的例子:
<script id="myTemplate" type="text/html">
<fieldset><label></label></fieldset>
</script>
此外,模板允许您添加变量,例如:
<script id="myTemplate" type="text/html">
<fieldset><label class="${labelclass}">${label}</label></fieldset>
</script>
您将信息作为数组传递
var templateData = [
{ labelclass: "fruit", label: "orange" },
{ labelclass: "vegetable", label: "cucumber" },
{ labelclass: "animal", label: "dog" }
];
然后你可以附加到你想要的地方
$("#myTemplate").tmpl(templateData ).appendTo( "form" );
您不必使用变量,但它比尝试手动构建它要干净得多。