0
在我的网站的一个功能中,div元素的内部HTML被更改为包含向右箭头。这个符号被包含在“myDiv”的innerHTML为➞
使用javascript将特殊字符转换回HTML实体代码
在一个单独的功能,我想“myDiv”的innerHTML与➞
function myFunction() {
//Many lines of code then
var myText = document.getElementById("myDiv").innerHTML;
alert(myText);
if (myText.match(/➞/g)) { //also tried with /➞/g
alert('Yep');
myText = myText.replace(/➞/g, " to yield ");
}
//Many more lines
}
匹配当我提醒会将myText作为函数(在if语句之前),警报输出包含一个实际的右箭头➞,而不是➞
问题是,即使➞
存在于代码中以首先产生“myDiv”的innerHTML(在单独的函数中) ,在myFunction() ➞
似乎不匹配,因为alert('yep')不是c alled。
我抬起头,绝望地尝试decodeURIComponent(),但我非常确定这不起作用,它似乎没有。任何人都可以解决这个问题吗?谢谢
不错......这工作完美。谢谢。所以我想这里的教训是包含非键盘字符的任何元素的innerHTML实际上包含非键盘字符,而不是该字符的HTML代码? –
@TheOneandOnlyChemistryBlob:它不是非键盘字符;它是任何角色。但是,是的,除非有必要逃脱。 (你应该尽量避免使用'innerHTML',并尽可能使用实际的文本;它不具有那种不一致性。) – Ryan
这个解决方案很有效,但我试图匹配→代表的不同右箭头(有多种不同方向箭头),这也匹配。我认为箭头是一个箭头,只要匹配innerHTML是关注的:) –