2014-09-06 64 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')时尾随的空白被保留,但是我不会依赖它。