追加(html)不使用脚本

时间:2015-05-09 10:00:08

标签: javascript jquery

使用我的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>

2 个答案:

答案 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函数没有被调用?