我一直在尝试使用 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
元素后访问该属性。
当我尝试使用 $('#lane2-diag_D').attr('currentLane')
访问 currentLane
属性时,它返回 undefined
.如果我尝试使用 javascript 方法 document.getElementById('lane2-diag_D').getAttribute('currentLane')
访问它,它将返回正确的值。
对于所有其他元素属性,jQuery 返回它们的正确值。
我在 jQuery 语法中缺少什么?
最佳答案
您应该将代码放在准备好的函数中,它就会工作,请检查下面的示例。
希望这有帮助。
<小时/>$(function(){
alert($('#lane2-diag_D').attr('currentLane'));
});
<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>
关于javascript - jQuery .attr() 对于现有属性返回 "undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35419333/