javascript - JQuery:将var的html内容转换为字符串

标签 javascript jquery string variables

我有一个获取 div 的 HTML 的 var。我想在隐藏的表单字段中使用该 var,以便将 HTML 保存到数据库中。

我只是难以将 HTML 或 var 转换为字符串。目前,将 var 按原样添加到我的输入中会破坏代码。

我试过使用 .wrap('<pre />');有几种不同的方式,但没有帮助,我认为这是不对的。

谁能指出我正确的方向?谢谢!

var code = $('#container').html();

code = code.wrap('<pre />')

document.write('<input type="hidden" name="html" value="' + code + '">');

最佳答案

您最好在直接 document.write 上使用辅助方法,因为(因为它是 HTML)您需要对其进行转义(确保代码中没有引号)。长话短说,也许使用类似的东西:

$('<input>',{
  'type':'hidden',
  'name':'html'
}) // create element
  .val(code) // use helper to insert HTML (auto-excapes)
  .appendTo('body'); // insert it where ever you need it

进一步解释:比如说,code 有以下内容:

<div class="foo">bar</div>

通过使用文档写入(而不是转义它)你正在写:

<input type="hidden" name="html" value="<div class="foo">bar</div>">

class="foo"(及其引号)干扰了原始隐藏元素的 value="" 属性。使用 .val() 可以避免这种情况,因为它可以确保将值安全地插入到元素中。

关于javascript - JQuery:将var的html内容转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14115995/

相关文章:

javascript 网页打印。在每页的页眉中打印 Logo

jquery - IE7去除背景透明的方法

c - 为什么 printf ("%s",(char[]) {'H' ,'i' ,'\0' }) 像 printf ("%s","Hi") 一样工作,但是 5 printfx,0x104 09104091004070709104091004070910409104091040910409104失败?

Java URLClassLoader 无法识别字符串

javascript - 动态网页的搜索功能

string - 加速计算字母表中没有长度 > 1 的重复子串的字符串数

javascript - Vue.js 2 - 防止函数两次提交

javascript - 如何在 webpack 配置中包含和使用 DefinePlugin?

javascript - 从复选框标签中添加值

javascript - 取消选择单选选项