首先,我不确定我是否正确地提出了我的问题。如果需要,请随时纠正我。
我的问题:
我在jQuery中创建了一个名为var siteTitle
的变量。此变量可供其他.js文件使用,然后传递回.html页面。
这一切都很有效,除了var siteTitle
包含某些需要转义的字符 之外,没有任何问题。 (引用,单引号和&符号具体)
我想要做的是使用一些jQuery来搜索特定的dom元素,看看它是否正在使用这些字符中的任何一个然后自动转义它们。
我已经搜索了一些类似的功能,似乎无法找到我需要的东西......我看到的壁橱理念是这样的。它不完全是我需要的东西,但它就像我在寻找的东西。
pathto: function(path, file) {
var rtrim = function(str, list) {
var charlist = !list ? 's\xA0': (list + '').replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '$1');
var re = new RegExp('[' + charlist + ']+$', 'g');
return (str + '').replace(re, '');
};
所以,我正在尝试编写一个函数,它会自动转换那些要转义的字符或它们的html等价物。
因此,如果{d}元素中使用了var siteTitle
:
<h1 class="titleText">' + siteTitle + '</h1>
我需要能够确保在该元素中转义任何字符。
这是一个jsFiddle,它显示我正在尝试做什么...... https://jsfiddle.net/bbyrdhouse/5jb2fdsr/1/
非常感谢任何帮助。
答案 0 :(得分:0)
由于您正在使用jquery,请使用.text()
函数将值设置为HTML。它会适当地逃脱它。
var siteTitle = 'My Site "Title"';
$my('.titleText').text(siteTitle);
另外,在你的小提琴中,siteTitle
变量不是你想象的那样,因为第二个引号关闭了那个值,因为它还没有被转义。我在我的例子中用单引号将其包装起来。