我正在使用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')
- &gt;返回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元素,它包含两个路径属性。我不知道为什么它会再次创建新属性?
谢谢,
希瓦
答案 0 :(得分:1)
尝试
$element.prop('path',val);
答案 1 :(得分:1)
我使用javascript setAttribute找到了更好的解决方案
element.setAttribute('path', val);
这适用于各种情况。
谢谢,
希瓦