2013-10-18 65 views
1

我使用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元素它包含兩個路徑屬性。我不知道爲什麼它會再次創建新的屬性?

感謝,

溼婆

+0

你不能有一個元素相同名稱的兩個屬性。 – Barmar

+0

@Barmar是多數民衆贊成在什麼問它創造value.in替代 – SivaRajini

+0

myabe這是因爲這個空間聲明路徑=「? – irla

回答

1

嘗試

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

我找到了更好的解決方案使用JavaScript的setAttribute

element.setAttribute('path', val); 

這將在所有類型的情況下工作。

感謝,

溼婆