jquery - 我可以提供 HTML 来使用 jQuery 填充 div 吗?
问题描述
我的模型中有一个包含静态 html(例如<br />
)的字段。
尝试使用 jQuery 填充 div$('#myField').html(fieldval)
时,浏览器会抛出错误,表明它收到了 Invalid 或 Unexpected 令牌。是否可以使用 jQuery 用 html 内容填充 div?
$('#myDiv').html(@Html.Raw(modelvalue));
$('#myDiv').html(modelvalue);
解决方案
在页面中引入 html 时要小心防止 xss 。
也就是说,对于您所要求的内容,请确保引用模型值,因为 jQuery 需要一个字符串。这将起作用。
$('#myDiv').html('@(new HtmlString(modelvalue))');
但是,您不应该这样做。
在插入原始 HTML 之前,您应该使用 WYSIWYG 编辑库或将用户接受的 html 列入白名单。如果它不是基于用户的,那么您应该使用自己的 html 结构创建一个单独的视图,然后使用经过清理的值填充该视图;然后插入该视图而不是原始字符串。
如果您以某种方式直接写入响应流,并且生成的字符串已被清理,那么您可能不会问这个相当基本的问题,所以我排除了这个问题。
推荐阅读
- c++ - 如果头文件已经包含在预编译头文件中,我是否应该继续在我的源文件中包含头文件?
- php - 运行 PHP 脚本以插入数据库
- javascript - 编写高阶箭头函数
- selenium-webdriver - 无法在下拉列表中选择元素,因为元素不可交互
- rust - 生成模块功能文档,如结构方法
- javascript - 多个 div 跟随鼠标的工具提示
- matlab - 如何使用 POS 标签作为特征
- batch-file - 如何在不知道该文件的完整路径的情况下使用批处理脚本复制文件?
- python - 如何使用来自输入的特定键/值对从另一个 JSON 创建 JSON 结构
- docker - 如何知道使用哪个基础镜像来构建镜像?