我想在jquery中获取我的svg的id,我尝试这个jquery但它是未定义的。
$(event.target).children('svg').attr("id")
Target.event返回p的数据,当我查看父亲内部时我有mmy列:
<div class="col-md-4">
<div class="zone" >
<svg id="graphItem0_2" with="300" height="300"></svg>
<p class="glyphicon glyphicon-chevron-down" style="position: absolute; top: 300px; right:20px;" data-toggle="collapse" data-target="#demo2"></p>
</div>
</div>
当我尝试$(svg).attr(“id”)时,我的页面中有很多svg元素,我得到的只是第一个元素但是当我点击另一个svg它是相同的id然后我的其他svg没有相同的身份。
答案 0 :(得分:3)
您可以将事件点击附加到父div zone
,然后使用jQuery对象$(this)
搜索svg:
$('.zone').on('click',function(){
alert( $(this).find('svg').attr("id") );
})
希望这有帮助。
$('.zone').on('click',function(){
alert( $(this).find('svg').attr("id") );
})
&#13;
.zone{
background-color: red;
}
svg{
background-color: green;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="zone" >
<svg id="graphItem0_2" with="300" height="300"></svg>
<p class="glyphicon glyphicon-chevron-down" style="position: absolute; top: 300px; right:20px;" data-toggle="collapse" data-target="#demo2"></p>
</div>
&#13;
答案 1 :(得分:1)
尝试这样的事情。
$(".zone").click(function(){
var id = $("svg").attr("id");
alert(id);
});
答案 2 :(得分:0)
请你试试这个: -
var x = document.getElementById("svg").id;
如果页面上只有1个svg元素,它将很有用。