我需要找到一個元素,它可以動態創建並且是DOM的一部分,並且可以改變它的一些屬性。我正在嘗試使用svg元素,但是您在Javascript/Jquery中的專業知識會對我有所幫助。Javascript/jquery屬性選擇器
<svg id="cvs" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" >
<rect uid="id1" class="cont" x="0" y="0" width="200" height="200" />
</svg>
在運行時,我想補充一些更多的矩形元素,如
var el = document.createElementNS(svgNS,'rect');
//set the attribues including uid //say id2, id3 etc
svg.appendChild(el);
現在,我需要寫一個更新的方法,它基於的UID RECT elelement匹配,將所有的attribues。
updateRect = function(properties){
$('rect[uid="' + properties.uid + '"]') {
for (var p in properties) {
this.setAttribute(p,prop[p]);
}
}
};
這是更多的僞代碼來顯示我的意圖。我不確定它是否也會找到動態創建的元素。有更好的邏輯嗎?我不必使用jQuery,但任何JS索爾將不勝感激。
編輯1: 選擇器可工作,但我在有點失落哪能鏈中的選擇對象上的操作。
類似,
var el = $('rect[uid="' + properties.uid + '"]')
if el.exist() {
//do the operation
}
或者更好的辦法???謝謝... 謝謝, bsr。
爲什麼不把引用保留在使用uid作爲屬性名稱(鍵)的對象中?然後你只需查找對象上的屬性,就可以參考,不需要笨重的選擇器。 – RobG 2011-05-09 01:54:30
Rob ..這是一個很好的評論..讓我想想如何在我的代碼中實現...謝謝 – bsr 2011-05-09 02:01:15