假设我有这个 HTML 元素:
<td>—</td>
当被浏览器解析时,
—
被转换为实际的 em-dash,如下所示:<td>—</td>
如何在 JavaScript 代码中不使用其他字符的情况下测试
—
?console.log(elem.innerHTML == "—"); // false
console.log(elem.textContent == "—"); // false
console.log(elem.innerHTML == "—"); // true
console.log(elem.textContent == "—"); // true
最佳答案
您可以创建一个新的 DOM 元素,并比较两者:
/**
* 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 - 测试特殊字符 JavaScript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32801962/