我試圖調用jQuery text()
函數並通過trim()
函數運行它,以刪除所有尾隨和前導空格。似乎在Firefox中工作良好,但是,在IE7中不起作用(拒絕刪除末尾的空格)。jQuery修剪功能在IE7中不起作用?
有什麼想法?也許是正則表達式的解決方案?
我試圖調用jQuery text()
函數並通過trim()
函數運行它,以刪除所有尾隨和前導空格。似乎在Firefox中工作良好,但是,在IE7中不起作用(拒絕刪除末尾的空格)。jQuery修剪功能在IE7中不起作用?
有什麼想法?也許是正則表達式的解決方案?
所以這裏就是發生了什麼事情的要點。我在span元素中有一些文本,然後在文本後面有一個超鏈接/圖像,用戶可以點擊該超鏈接去除文本(見下面的代碼)。但是,我在span元素文本(在超鏈接的文本中)之後放置了一個
,以便在span文本和「delete」圖像之間填充一點填充。所以即使我訪問元素的文本和修剪$.trim($(this).parent().text());
它仍然包括在最後的空間!一旦我刪除這個額外的空間,事情工作正常。仍然不知道爲什麼$.trim()
不會照顧它呢?!
<div>
<span>
<strong>SomeText</strong>
</span>
<a href="javascript:void(0);" onclick="removeMe();">
<img src="delete.png" width="15" height="15" border="0" name="imgRemove" />
</a>
</div>
您的用戶名是soooooooooooooooooooooooooooooooooooooo冒犯 – 2010-10-15 19:11:14
它不起作用,因爲'$ .trim'尋找實際的空白區域,其中不包括' ',這是一個非編碼非制動空間,直到'。修剪「,它認爲這只是另一個文本,如」家「或」湯姆和傑裏「希望它有幫助 – Val 2012-02-27 15:41:05
是的,我有一個想法。最後的空格不在要調用text()函數的元素中。這可能發生在IE瀏覽器中,因爲它會以不同於firefox的方式處理空白,並會給它自己的元素,而firefox則不會。這只是一個預感,因爲你的問題沒有太多的繼續。
你很可能已經忘記了jQuery的chainning ...
試試這個
$('#selector').trim($('#selector').text())
不要偷懶與
$('#selector').text().trim();//this is wrong...
編輯
或作爲@Laserson甚至更好簡化它,與$.trim($(selector).text());
如果我選擇不正確,這是否解釋了爲什麼這將在Firefox中工作,但不是在IE中? – YourMomzThaBomb 2010-03-23 22:51:15
也許你應該用腳本的例子更新你的答案,這只是一個建議,至於你的ie7問題......或者使用帶有substr(-1,1)的if語句來檢查最後一個字母是否是空白 – Val 2010-03-23 22:57:43
更簡單:$ .trim() – Laserson 2010-07-27 09:28:31
jQuery使用/^\ S + |在其裝飾\ S + /克方法 -
任何尾隨空間將必須被加到它返回後。
它可能取決於您何時閱讀它 - 嘗試直接從修剪操作提醒值。 如果讀取正確,則該字符串旁邊的任何內容都會添加空格。
如果trim真的返回一個尾隨空格,請使用text.replace(/^\ s + | \ s +/g,'')。
你能演示一個演示嗎? – SLaks 2010-03-23 21:23:56