在使用jquery的html()方法时,有时候里面添加的html代码含有一些特殊字符,需要进行转义。
如下例子:
inst_html = "<a style=color:white' onmouseover = '"; inst_html += "javascript:showme('"+inst.instId+"_"+valId+"');"; inst_html += "' "; $("#inst_div_"+valId).html(inst_html);
如果这样直接写的话,在chrome和FF浏览器下,没有问题,但在IE8下会报错。
解决方法就是将javascript里面的'进行转义改成',这样就不报错了。
改为:
inst_html = "<a style=color:white' onmouseover = '"; inst_html += "javascript:showme('"+inst.instId+"_"+valId+"');"; inst_html += "' "; $("#inst_div_"+valId).html(inst_html);
var entityMap = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''', '/': '/', '`': '`', '=': '=' }; function escapeHtml (string) { return String(string).replace(/[&<>"'`=\/]/g, function (s) { return entityMap[s]; }); }
https://stackoverflow.com/questions/24816/escaping-html-strings-with-jquery
当我们用FCK编辑器保存信息至数据库后保存的html都是转义过后的,当我们读取展现在页面上的时候我们就需要进行反转义才行,不然会显示HTML标签。其实这一系列都很简单,代码见下所示:
//HTML转义 function HTMLEncode(html){ var temp = document.createElement ("div"); (temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html); var output = temp.innerHTML; temp = null; return output; } //HTML反转义 function HTMLDecode(text){ var temp = document.createElement("div"); temp.innerHTML = text; var output = temp.innerText || temp.textContent; temp = null; return output; }
相关推荐
总结,当在jQuery的`html()`方法中处理包含特殊字符的字符串时,要确保正确转义这些字符,以防止解析错误。同时,考虑使用更现代的事件绑定方法,如`data-*`属性和`on()`方法,以提升代码质量。对于兼容性问题,尤其...
了解并掌握这些转义技巧,可以有效地帮助我们在处理含有特殊字符的ID时避免遇到问题,从而提高代码的稳定性和可维护性。在编写HTML和JavaScript时,良好的命名规范和避免使用特殊字符是防止这类问题的良好实践。
一般情况下,在jQuery选择器中,我们很少会用到诸如“.”、“#”、“(”、“[”等特殊字符,因为根据W3C规定,HTML文档中属性的值是不能包含有这些个特殊字符的,但是在实际应用中,偶尔也会遇到表达式中含有“#”和...
在本案例中,开发人员在制作动态菜单时遇到的困难是由于ID中包含特殊字符“/”,导致无法使用常规的方法通过jQuery选择器获取对应的节点。这是一个在实际开发中相当常见的问题,因为HTML ID属性所允许的字符范围要比...
7. **特殊符号处理**:若元素ID等属性值中含有特殊字符,如`#`,则需要使用转义符`\`来处理。例如,ID为`id#b`的元素应使用`$("#id\\#b")`来选择。 #### 二、JQuery选择器详解 1. **基本选择器**: - `$("#text")...
然而,由于题目中提到的是“纯HTML模板”,所以可能没有使用特定的模板引擎,而是使用jQuery的字符串处理方法(如`.html()`, `.append()`, `.prepend()`等)结合数据进行替换。 接下来是AJAX,它是"Asynchronous ...
这个问题在标题为“easyui-datagrid特殊字符不能显示的处理方法”的描述中被提及,并提供了一个解决办法。 处理这个问题的方法是通过修改EasyUI的源代码,增加一个`escapeHtml`函数,用于将特殊字符转义为它们的...
在JavaScript的世界里,jQuery是一个非常流行的库,它简化了DOM操作、事件处理和Ajax交互等任务。本讲我们将深入探讨jQuery中的两个核心方法——`html()`和`text()`,它们都用于设置或获取HTML元素的内部内容,但...
这个函数会根据用户选择的选项(例如,密码长度,是否包含大写字母、小写字母和特殊字符)生成一个随机字符串。这个过程可能涉及到JavaScript的Math.random()函数,以及Array对象的方法,如join()和map(),来生成并...
如果你使用JQuery的$(selector)来获取元素,其中selector就是对应的选择器字符串,JQuery会自动处理特殊符号,从而准确地定位到含有特殊符号的ID的标签。 接下来,我们来看一个具体的例子。假设我们有一个HTML元素...
1. **输入验证**:对用户提交的数据进行严格的检查和过滤,确保它们不包含可能引发 XSS 攻击的特殊字符或脚本代码。 2. **编码输出**:在将用户输入插入到 HTML 中之前,使用适当的编码方法(如 `encodeURI()` 或 `...
`jQuery.base64.js`就是一个这样的工具,它提供了便捷的Base64编码功能,能够有效地处理富文本中的特殊字符。 Base64是一种网络上常用的表示二进制数据的方法,通过将二进制数据转换为ASCII字符串,使得数据可以在...
此外,对于有特殊输入需求的应用,如数字输入、符号输入,也可以定制键盘布局来满足需求。 总结,jQuery Virtual Keyboard是一个强大的工具,它结合了jQuery的便利性和虚拟键盘的实用性,为Web开发者提供了在任何...
在IT行业中,jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计和Ajax交互等任务。本文将重点介绍标题为“jQuery 文本框字符限制插件 Textarea”的相关知识点,该插件主要用于限制用户...
本篇文章将深入探讨如何在jQuery与Ajax中正确地处理包含特殊字符的数据。 首先,我们需要理解为什么特殊字符会引起问题。在HTTP请求中,特别是GET请求,参数通常是通过URL传递的。在URL中,"&"字符用于分隔不同的...
这通常通过JavaScript实现,可能包含一系列算法,例如选择字符集(数字、字母、特殊符号等)、设定密码长度,然后随机组合这些字符。在JQuery中,可以使用`Math.random()`函数生成随机数,结合字符串操作方法来构建...