【问题标题】:how to add and remove css class on svg element如何在 svg 元素上添加和删除 css 类
【发布时间】:2015-03-18 07:00:12
【问题描述】:

我有一系列 svg 圆圈:

<svg id="pt124" class="marker aaa" style="left: 842.984px; top: 175.607px;"><circle style="fill: blue;" cy="10" fill="#CCCCCC" cx="10" r="4.5"></circle></svg>

<svg id="pt125" class="marker aaa" style="left: 553.565px; top: 106.903px;"><circle style="fill: blue;" cy="10" fill="#CCCCCC" cx="10" r="4.5"></circle></svg>

<svg id="pt126" class="marker aaa" style="left: 608.487px; top: 191.06px;"><circle style="fill: blue;" cy="10" fill="#CCCCCC" cx="10" r="4.5"></circle></svg>

我需要为这些对象添加一个“隐藏”类。 我尝试了几件事但没有成功:

$("svg#"+data[i]['name']).attr("class", "marker aaa hide");

$("svg#"+data[i]['name']+" circle").setAttribute("visibility", "hidden");

$("#"+data[i]['name']).context.hidden = false;

我错过了什么? 如何将课程添加到此? 谢谢

【问题讨论】:

    标签: javascript css svg d3.js


    【解决方案1】:

    如果您想为所有圈子添加一个类,那么您需要类似

     d3.selectAll("circle")
       .attr("class", "hide");
    

    这是等价的:

     d3.selectAll("circle")
       .classed("hide", true); 
    

    虽然我没有看到您具体在哪里使用d3.js。您提供的代码使用 jQuery 语法 ($(a bunch of stuff))。

    【讨论】:

      【解决方案2】:

      试试这个添加类:-

      $("svg#"+data[i]['name'] + ' circle').attr("class", "hide");
      

      如果你想切换元素,你可以这样做:-

      $("svg#"+data[i]['name'] + ' circle').toggle(); 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-31
        • 1970-01-01
        • 2023-03-14
        • 2011-01-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多