使用我的append
(html)代码,我希望能够包含<script></script>
问题:我如何使用<script></script>
不允许我添加它们。
正如您在addContent()底部看到的,我需要包含$("#page_code[' + content_row + ']").summernote({height: 300});
脚本
<script type="text/javascript">
var content_row = <?php echo $content_row; ?>;
//$(document).ready(function() {
// $('#page_code').summernote({height: 300});
//});
function addContent() {
html = '<div id="content-row">';
html += '<div class="form-group">';
html += '<label class="col-sm-2">Page Content Name</label>';
html += '<div class="col-sm-10">';
html += '<input type="text" class="form-control" name="page_code[' + content_row + '][name]" placeholder="Page Content Name">';
html += '</div>';
html += '</div>';
html += '<div class="form-group">';
html += '<label class="col-sm-2">Page Content</label>';
html += '<div class="col-sm-10">';
html += '<textarea class="form-control" id="page_code[' + content_row + ']" name="page_code[' + content_row + '][code]" style="height: 300px;"></textarea>';
html += '</div>';
html += '</div>';
html += '<script>$("#page_code[' + content_row + ']").summernote({height: 300});</script>';
html += '</div>';
$('#content-row').append(html);
content_row++;
}
</script>
答案 0 :(得分:2)
Jquery提供了html()方法,允许您在给定的html元素中追加一些html。所以,你可以试试这个:http://api.jquery.com/html/
然后,代码部分存在一些混淆,这是您遇到问题的原因:
html += '<script>$("#page_code[' + content_row + ']").summernote({height: 300});</script>';
我认为您选择&#34; #page_code [..]&#34;因为id是错的。因为您没有任何具有此ID的元素,但名称为attribut&#34; page_code [...]&#34;。因此,即使您的代码将被评估,您的代码似乎也是错误的。
要按名称attribut选择标记,您可以处理特定的jquery选择器:http://api.jquery.com/attribute-equals-selector/
我希望这会对你有所帮助。
答案 1 :(得分:2)
首先,当您关闭字符串中的脚本标记时 - &gt;
"</script>"
这是一个错误,因为&#34; /&#34;在字符串中用于转义,因此在关闭标记时你应该这样做
"<//script>"
其次 - 你的addContent函数没有被调用?