【发布时间】:2013-10-18 13:44:13
【问题描述】:
我正在使用 jquery 1.7.1
获取属性值
请参考下面的外部 HTML 元素
$element.get(0).outerHTML
<?xml:namespace prefix = "v" ns = "urn:schemas-microsoft-com:vml" />
<v:shape id=container_vml_CrosshairVertical style="HEIGHT: 1000px; POSITION: absolute; LEFT: 0px; TOP: 0px; VISIBILITY: visible; WIDTH: 1000px" coordsize = "1000,1000" fillcolor = "white" strokecolor = "black" strokeweight = "1pt" path = " m342,58 l342,374 e"></v:shape>
当我使用以下代码获取属性值时,即使它有一些值,它也会返回未定义的值。
$element.attr('path') -> 返回undefined
为现有属性设置新值
请参考下面的代码设置属性值
var val= '"m 386 58 l 386 374';
$element.attr('path',val);
它创建具有指定值而不是替换的新属性。请参考下面的outerHTML
<?xml:namespace prefix = "v" ns = "urn:schemas-microsoft-com:vml" />
<v:shape id=container_vml_CrosshairVertical style="HEIGHT: 1000px; POSITION: absolute; LEFT: 0px; TOP: 0px; VISIBILITY: visible; WIDTH: 1000px" path="m 386 58 l 386 374" coordsize = "1000,1000" fillcolor = "white" strokecolor = "black" strokeweight = "1pt" path = " m384,58 l384,374 e"></v:shape>
请看上面的outerHTML 元素,它包含两个路径属性。我不知道为什么它会再次创建新属性?
谢谢,
湿婆
【问题讨论】:
-
一个元素中不能有两个同名的属性。
-
@Barmar 是的,这就是要求它使用 value.instead 创建新属性而不是替换
-
Myabe 是因为声明路径中的这个空格 = "?
标签: javascript jquery html