jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了d3相当于jQuery parent()大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有各种SVG< g>对象,每个对象都有@L_674_1@< circle>孩子和< text>儿童.我可以使用SELEct()来查找特定的< text>对象,由附加到它的类,然后修改它:
d3.SELEct('text.my-class')
    .classed("my-class",falsE).classed("new-class",truE)
    .text("Next Stage!")
    ;

现在我需要修改它的圆形兄弟.圆圈没有特定的识别类(嗯……也许给它@L_674_1@d3的方式来做这个?),所以我的第一次尝试就像jQuery一样:

d3.SELEct('text.my-class').parent().SELEct('circle')
    .attr('style','fill:#f00;')
    ;

这失败了“父母不是@L_674_1@功能”.

类似问题(How to select parent element of current element in d3.js)的答案提示this.parentNode,但要么我使用它错了要么在这里不起作用.我试过这两个:

d3.SELEct('text.my-class').SELEct(parentNodE).SELEct('circle')
d3.SELEct('text.my-class').SELEct(this.parentNodE).SELEct('circle')

解决方法

D3没有访问父节点的方法.您可以使用Node()方法访问所选元素的DOM节点.该元素将具有parentNode属性
var textNode = d3.SELEct('text.my-class').node(),// DOM node
    parentNode = textNode.parentNode,// Parent DOM node
    parentSELEction = d3.SELEct(parentNodE),// SELEction containing the parent DOM node
    circle = parentSELEction.SELEct('circle');     // SELEction containing a circle under the parent SELEction

在回调中,您可以使用:

d3.SELEct('text.my-class')
   .on('mouSEOver',function(d) {
      // The 'this' context is set to the DOM element,not the SELEction
      var circle = d3.SELEct(this.parentNodE).SELEct('circle');
      circle.attr('fill','red');
   });

问候,

大佬总结

以上是大佬教程为你收集整理的d3相当于jQuery parent()全部内容,希望文章能够帮你解决d3相当于jQuery parent()所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。