我需要找到一个元素,它可以动态创建并且是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