如何更改或添加ID到SVG?

时间:2011-11-06 13:45:25

标签: javascript jquery dom raphael

我有一个使用Raphael 2.0的SVG创建,如下所示:

<div class="stave">
<svg height="342" version="1.1" width="512" xmlns="http://www.w3.org/2000/svg"
style="overflow: hidden; position: relative;" viewBox="0 410 1300 80"
preserveAspectRatio="meet">
........
</svg>
</div>

我只想为svg标签设置ID!我该怎么做? JQUERY或RAPHAEL 2.0? 我看到很多答案,但没有一个适合我。

感谢您的帮助

3 个答案:

答案 0 :(得分:7)

document.getElementsByTagName('svg')[0].id = 'svg_id';

如果您的页面上只有一个SVG标记,并且在使用Raphael创建标记后调用它,则应该可以使用。

如果你还没有使用Raphael创建标签,你可以使用这样的东西:

<svg id='svg_id'></svg>

当然还有其他属性。

答案 1 :(得分:3)

var paper=Raphael(0, 0, 342, 512)
paper.canvas.id='id_svg1'

答案 2 :(得分:0)

使用jQuery,您可以使用element selector:nth-child()

这样的事情:(jsFiddle

<div class="frame">
    <div>div1</div>
    <div>div2</div>
    <div>div3</div>
</div>
<script type="text/javascript">
    $('div').css({'font-weight':'bold'});
    $('.frame div:nth-child(2)').attr("id","newId");
    $('#newId').css({'color':'#f30'})
</script>

当然,在您的情况下,选择器将是$('svg')