获取属性值返回undefined,将value设置为attribute,创建带有值的新属性

时间:2013-10-18 05:10:24

标签: javascript jquery html

我正在使用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元素,它包含两个路径属性。我不知道为什么它会再次创建新属性?

谢谢,

希瓦

2 个答案:

答案 0 :(得分:1)

尝试

$element.prop('path',val);

答案 1 :(得分:1)

我使用javascript setAttribute找到了更好的解决方案

element.setAttribute('path', val);

这适用于各种情况。

谢谢,

希瓦