寻找jQuery运算符的d3.js等价物列表

时间:2013-11-02 21:06:39

标签: jquery d3.js

有没有人知道jQuery运算符/方法的d3.js等价物(或接近等价物)的完整列表?

(除了能够拨打一个电话之外的其他目的,加载jQuery有点糟糕,例如$('#frobozz').height(),当我已经有d3.js时。)

2 个答案:

答案 0 :(得分:2)

严格来说,没有这样的清单,因为d3没有设计提供任何此类功能。但是,现在大多数浏览器开始以符合W3C standard,对于某些函数,您不需要jQuery

您可以通过调用selection.node()来访问DOMElement,然后您可以使用元素上提供的DOM API,也可以使用selection.style获取CSS属性直接

但是,仍然存在API的一部分,某些浏览器不遵守这些部分,或者实现起来很棘手,jQuery将成为使Javascript程序浏览器不可知和简单的最佳方式。 jQuery.height函数,例如is not trivial

在您不需要jQuery的情况下,唯一的情况就是简单。说,您知道height是通过CSS显式设置的,然后可以d3.select('#froboxx').node().style.heightd3.select('#froboxx').style('height')获取。或者,如果它是将height设置为属性的元素(例如svgimg元素),则d3.select('#froboxx').attr('height')也会为您计算值。但是,当设置两个时,precedence of style v/s attribute启动,任务再次变得非常重要。

自jQuery 1.8以来可能存在一个折衷方案,即您可以准备your own jQuery build,其中不包含您不需要的任何模块。缺点是您必须在服务器上托管该文件。这些方面的另一个替代方法是使用ZeptoJS

答案 1 :(得分:0)

当然没有全面的清单。然而,选择器与jQuery非常相似,$替换为d3.selectd3.selectAll.height()等运算符等同于.attr("height")

对于任何特定情况,它应该很容易找出用D3调用的内容,这样你就不必加载jQuery。毕竟,你在任何一种情况下都在访问DOM元素。