我一直在尝试使用jQuery(v2.1.4)访问svg:rect
DOM元素上定义的自定义属性。具体要素如下:
<rect id="lane2-diag_D" currentLane="2" class="draggableCircle" x="250" y="125" height="20" width="10" clr="Chartreuse" style="stroke: gray; stroke-width: 1px; fill: chartreuse;"></rect>
此元素是从另一个元素克隆的,并且它的id已更改。我在将该属性添加到页面上的svg
元素后尝试访问该属性。
当我尝试使用currentLane
访问$('#lane2-diag_D').attr('currentLane')
属性时,它会返回undefined
。如果我尝试使用javascript方法document.getElementById('lane2-diag_D').getAttribute('currentLane')
访问它,则会返回正确的值。
对于所有其他元素属性,jQuery返回正确的值。
我在jQuery语法中缺少什么?
答案 0 :(得分:0)
您应该将代码置于就绪功能中并且它将起作用,请查看下面的示例。
希望这有帮助。
$(function(){
alert($('#lane2-diag_D').attr('currentLane'));
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<rect id="lane2-diag_D" currentLane="2" class="draggableCircle" x="250" y="125" height="20" width="10" clr="Chartreuse" style="stroke: gray; stroke-width: 1px; fill: chartreuse;"></rect>
&#13;