2014-09-06 174 views
-1

當我這樣做elm.getAttribute('class')時,它似乎返回沒有任何空格的值。javascript:使用空格獲得屬性值

例如,<a class="special ">,它將返回"special"。我希望返回的值爲"special "

+0

你爲什麼需要這個? – 2014-09-06 12:10:00

+0

@ C-linkNepal我用'[@ class =「special」]生成一個xpath將不會選擇包含空格的元素。 – user299709 2014-09-06 12:11:13

+0

它已經返回''特殊''。 [示例](http://jsfiddle.net/w9pt0x7p/) – Volune 2014-09-06 12:11:36

回答

3

class屬性表示一組space separated tokens,其中允許使用前導和尾隨空格以及任意數量的中間空白字符。

曾經有一段時間,某些瀏覽器在屬性中保留了空格,就像它被賦值一樣,有些卻沒有。在刪除類屬性值中的任何前導空格或尾隨空格以及將中間空格保留爲單個字符(無論設置的實際值如何)時,也很常見。

但是,在當前的Safari,Chrome,Camino和Firefox中進行的測試顯示,使用...getAttribute('class')時尾隨的空白被保留,但是我不會依賴它。