javascript - 在 jQuery 中将 HTML 附加到 HTML 字符串

标签 javascript jquery html

我有一个 HTML 字符串,我想在任意位置向其附加另一个 html 字符串。

例子:

var htmlString = '<div id="insert"> <p> Hello </p> </div>'

var appendString = '<p> Goodbye </p>'

$(appendString).appendTo( $(htmlString).find('#insert') )

显然这是行不通的,因为它不能直接插入到字符串中,但是,我不想将 htmlString 转换为 jQuery 对象,因为它会破坏 HTML 文档的结构,我需要将脚本标记保留在它们被插入的位置。

希望已经足够清楚了。

编辑:

抱歉,我想我对问题的解释很差。

我有一个包含表格的 HTML 字符串,我想向表格中追加一个新行。我的问题是我有很多 <script>我需要保留在其位置的标签。当我将字符串转换为 $(string) 时,我无法将其恢复为原始形式:

var htmlString = $('body').html();
var $htmlString = $(x);
console.log($htmlString.html());

这是我尝试在上面执行此操作的 Confluence 页面,我对源代码的访问权限有限;我能做的最多就是修改已经存在的内容。

HTML 字符串来自 Confluence 上另一个页面的 AJAX 请求,我需要将脚本保留在同一位置,以便我的其他宏能够正确运行。

我已经包含了我的问题的 JS Bin 示例,希望能清楚地说明我的问题。

https://jsbin.com/ruwawuzica/edit?html,js,output

最佳答案

你可以这样做:

var htmlString = '<div id="insert"> <p> Hello </p> </div>';

var appendString = '<p> Goodbye </p>';
var added = ($(htmlString).append($(appendString)));
$(added).appendTo('div');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>

$(htmlString)element <div id="insert"></div>包裹在 jquery

关于javascript - 在 jQuery 中将 HTML 附加到 HTML 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35896932/

相关文章:

javascript - 使用http打开本地html页面进行测试

javascript - 模式出现在页面加载时

javascript - 尝试使用 Javascript 修复元素

javascript - 删除并更改 noUIslider 句柄

html - 在不使用框架的情况下使用菜单构建网站

html - 带有 css-grid 的两轴表格布局

javascript - 在HTML <区域>中使用JavaScript函数在单击时播放音频

javascript - React-Native:通过 FlatList 选择传递数据

javascript - jQuery 在大量文本中查找/替换

javascript - 使用 XHR 的多部分表单数据 - 无效请求