Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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 jQuery trim函数在IE7中不起作用?_Javascript_Jquery_Regex_String - Fatal编程技术网

Javascript jQuery trim函数在IE7中不起作用?

Javascript jQuery trim函数在IE7中不起作用?,javascript,jquery,regex,string,Javascript,Jquery,Regex,String,我试图调用jQuerytext()函数,并通过trim()函数运行它,以删除所有尾随和前导空格。在Firefox中似乎工作得很好,但在IE7中不起作用(拒绝删除结尾的空格) 有什么想法吗?!也许是正则表达式解决方案?是的,我有个主意。末尾的空白不在调用text()函数的元素中。这可能发生在IE中,因为它对待空白的方式与firefox不同,并且会赋予它自己的元素,而firefox不会。这只是一种预感,因为您的问题没有太多可供讨论的地方。您很可能已经忘记了jquery链接 试试这个 $(“#选择器”

我试图调用jQuery
text()
函数,并通过
trim()
函数运行它,以删除所有尾随和前导空格。在Firefox中似乎工作得很好,但在IE7中不起作用(拒绝删除结尾的空格)


有什么想法吗?!也许是正则表达式解决方案?

是的,我有个主意。末尾的空白不在调用text()函数的元素中。这可能发生在IE中,因为它对待空白的方式与firefox不同,并且会赋予它自己的元素,而firefox不会。这只是一种预感,因为您的问题没有太多可供讨论的地方。

您很可能已经忘记了jquery链接

试试这个

$(“#选择器”).trim($(“#选择器”).text())

不要偷懒

$('#选择器').text().trim()//这是错误的…

编辑


或者@Laserson使用
$.trim($(selector.text())将其简化得更好

jquery在其trim方法中使用/^\s+\s+/g-

任何尾随空格都必须在返回后添加

它可能取决于您读取它的时间-尝试直接从微调操作中警告该值。 如果读取正确,则该空间将由您在字符串旁边执行的任何操作添加


如果trim返回时带有尾随空格,请使用text.replace(/^\s+|\s+/g')

下面是事情的要点。我在span元素中有一些文本,在这些文本之后有一个超链接/图像,用户可以单击以从它所在的行中删除文本(参见下面的代码)。但是,我在span元素文本(在超链接的文本中)后面加了一个
,在span文本和“delete”图像之间加了一点填充。因此,即使我访问元素的文本并修剪
$.trim($(this.parent().text())它仍然会在末尾包含该空格!一旦我把多余的空间移走,一切都很顺利。还是不知道为什么
$.trim()
不会处理它

<div>
  <span>
    <strong>SomeText</strong>
  </span>
  <a href="javascript:void(0);" onclick="removeMe();">&nbsp;
    <img src="delete.png" width="15" height="15" border="0" name="imgRemove" />
  </a>
</div>

SomeText

这毫无意义。这是一个简单的字符串-空白的来源是不相关的。不,如果trim对字符串不起作用,它就没有意义,这是一个简单的正则表达式,它应该起作用。我认为文本返回的字符串不是你引用的节点/元素,除非他使用html而不是文本lol答案是无关的,如果我选择错误,这能解释为什么这在Firefox中有效,而在IE中无效吗?也许你应该用一个脚本的例子来更新你的答案,这只是一个建议,关于你的ie7问题。。。或者使用带有substr(-1,1)的if语句来检查最后一个字母是否为白色空格这对我很有帮助,我当时正在执行$(selector).text().trim();它在FF中工作,但在ie7上抛出了一个错误-所以我做了$.trim($(选择器).text());你的用户名是Sooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo,就
.trim
而言,它认为这只是像
Home
或'Tom&jerry'这样的另一个文本,希望能有所帮助