Javascript 如何使用隐藏的unicode字符消除Dom中的空白?
JSFiddle: 所以,我有一个空的TD,我试图从中删除空白 通常我会这样做:Javascript 如何使用隐藏的unicode字符消除Dom中的空白?,javascript,regex,string,Javascript,Regex,String,JSFiddle: 所以,我有一个空的TD,我试图从中删除空白 通常我会这样做: ee.replace(/\s+/, '') == "" // check to see if TD is empty. 以上结果为假 但是,它不起作用,所以我将TD的内容粘贴到unicode解码器上,得到了以下结果: U+000D <control> character U+000A <control> character U+0009 <control> character
ee.replace(/\s+/, '') == "" // check to see if TD is empty.
以上结果为假
但是,它不起作用,所以我将TD的内容粘贴到unicode解码器上,得到了以下结果:
U+000D <control> character
U+000A <control> character
U+0009 <control> character
U+0009 <control> character
U+0009 <control> character
U+0009 <control> character
U+0020 SPACE character
我转换的文本如下所示:
-------
-------
(在两行之间)
这就是我使用的:
我百分之百肯定是控制角色把我搞砸了。而且它们在所有浏览器中都必然是不同的
我怎样才能摆脱它们?正则表达式替换就足够了吗?您正在尝试的操作将正常工作,但您的Javascript编写错误。由于使用jQuery选择元素,因此需要获取第一个索引来访问元素的
innerText
这里真正的问题是您使用的是
innerText
,它不是jQuery对象的属性,而是DOM元素的属性。只需使用jQuery函数.text()
:
var e = $(".td");
var result = e.text().replace(/\s+/, '') == ""; // check to see if TD is empty
alert(result);
一切都会好起来的。现在,字符串实际上是
“未定义的”
,因为您在一个不存在的属性上附加了一个空字符串。答案解释了真正的错误,但请注意这里讨论的“控制字符”只是换行符、回车符、制表符和空格,所有这些字符都将由\s
@TheLindyHop:不,相信我,没错。你真的试过了吗?还没有,明天会在电脑上,想确保一切都是一样的。不过我感谢你的帮助=D将def+1并检查其是否工作。
var e = $(".td");
var result = e.text().replace(/\s+/, '') == ""; // check to see if TD is empty
alert(result);