本文介绍了测试特殊字符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>—</td>
When parsed by browsers, —
is converted to an actual em-dash, like so:
<td>—</td>
How can I test for —
without using other characters in my JavaScript code?
console.log(elem.innerHTML == "—"); // false
console.log(elem.textContent == "—"); // 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 === —
*/
function mdashTest(el) {
var tempEl = document.createElement('div');
tempEl.innerHTML = '—';
return el.innerHTML === tempEl.innerHTML;
}
// Test it!
elem = document.getElementById('dash');
alert( mdashTest( elem ) );
<div id="dash">—</div>
这篇关于测试特殊字符JavaScript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!