Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
特殊字符JavaScript测试_Javascript_Html - Fatal编程技术网

特殊字符JavaScript测试

特殊字符JavaScript测试,javascript,html,Javascript,Html,假设我有这个HTML元素: <td>&mdash;</td> 如何测试&mdash在我的JavaScript代码中不使用其他字符 console.log(elem.innerHTML == "&mdash;"); // false console.log(elem.textContent == "&mdash;"); // false console.log(elem.innerHTML == "—"); // true console.log(

假设我有这个HTML元素:

<td>&mdash;</td>
如何测试
&mdash在我的JavaScript代码中不使用其他字符

console.log(elem.innerHTML == "&mdash;"); // false
console.log(elem.textContent == "&mdash;"); // false
console.log(elem.innerHTML == "—"); // true
console.log(elem.textContent == "—"); // true

emdash的unicode等价物是
\u2014
。您可以使用此unicode与html进行比较

HTML元的默认编码设置为
UTF
,因此所有实体都转换为UTF-8。阅读更多

var dash=document.getElementById('dash').innerText;
警报(破折号=='\u2014')

&mdash您可以创建一个新的DOM元素,并比较这两个元素:

/**
*测试DOM元素的内部HTML是否为===&mdash;
*/
功能测试(el){
var tempEl=document.createElement('div');
tempEl.innerHTML='&mdash;';
返回el.innerHTML===tempEl.innerHTML;
}
//试试看!
elem=document.getElementById('dash');
警报(mdashTest(elem))
&mdash我建议:

  • 通过
    DOMParser()
  • 函数parseToText(代码){
    返回新的DOMParser().parseFromString(“”+code+“”,“text/html”).firstChild.textContent;
    }
    var=document.getElementById('text')。innerHTML==parseToText('mdash;');
    document.write(“isEquals”,is,parseToText(“&mdash;”))
    
    &mdash聪明的解决方案。但是,我仍然希望使用
    &mdash在我的代码中,而不是任何其他characters@RichardWallace尝试更改answerwith jquery中的字符集:
    elem.innerHTML==$(“&mdash;”).html()
    elem.innerHTML==document.createRange().createContextualFragment(”).firstChild.textContent
    @sheralituiev,这非常简洁。你应该考虑把它作为一个答案(当然还有更多的解释)。
    console.log(elem.innerHTML == "&mdash;"); // false
    console.log(elem.textContent == "&mdash;"); // false
    console.log(elem.innerHTML == "—"); // true
    console.log(elem.textContent == "—"); // true