测试特殊字符JavaScript [英] Testing for special characters JavaScript

查看:87
本文介绍了测试特殊字符JavaScript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有这个HTML元素:

 < td>& mdash;< / td> 

当被浏览器解析时,& mdash; 转换为实际的em-dash,如下所示:

 < td>  - < / td> 

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

  console.log(elem.innerHTML ==& mdash;) ; //假
console.log(elem.textContent ==& mdash;); // false
console.log(elem.innerHTML == - ); // true
console.log(elem.textContent == - ); // true


解决方案

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



/ ** *测试一个DOM元素的内部HTML是===& mdash; * / function mdashTest(el){var tempEl = document.createElement('div'); tempEl.innerHTML ='& mdash;';返回el.innerHTML === tempEl.innerHTML;} //测试它!elem = document.getElementById('dash'); alert(mdashTest(elem));

< div id =dash>& mdash;< / div>


Say I have this HTML element:

<td>&mdash;</td>

When parsed by browsers, &mdash; is converted to an actual em-dash, like so:

<td>—</td>

How can I test for &mdash; without using other characters in my JavaScript code?

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

解决方案

You could create a new DOM element, and compare the two:

/**
 * Test that a DOM element's inner HTML is === &mdash;
 */
function mdashTest(el) {
    var tempEl = document.createElement('div');
    tempEl.innerHTML = '&mdash;';

    return el.innerHTML === tempEl.innerHTML;
}

// Test it!
elem = document.getElementById('dash');
alert( mdashTest( elem ) );

<div id="dash">&mdash;</div>

这篇关于测试特殊字符JavaScript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆