2014-06-08 50 views
0
console.log($('svg.datamap').html()) 

我想选择一个类属性为“datamap”的SVG元素。它不起作用,因为我正在动态创建svg元素。我该如何解决这个问题?或者有没有办法在javascript中选择动态创建的元素?jQuery Selector不适用于动态创建的元素

+0

当你动态地创建元素时,你可以用'$ .addClass()'给它添加类,或者给元素一个带'$ .attr()'的id并使用那以后 –

+0

这没有意义。您不能选择尚不存在的元素,并且无法获取不存在的元素的*内容*。我的意思是认真的,你如何期待这个工作?既然你接受建议使用事件委托的答案,即使你根本没有提到事件,我认为这是你原来的问题,在这种情况下,它是重复的。 –

+1

如果这适用于d3.js库DataMaps,则应该将此逻辑放入DataMaps提供的'done'处理程序中。 – markmarkoh

回答

2

你需要绑定到页面加载时存在的东西,然后委派它。一个基本的例子可能是:

$('body').on('click','svg.datamap',function() { 
    //do something with svg.datamap 
}); 
相关问题