有誰知道jQuery運算符/方法的d3.js等價物(或接近等價物)的完整列表嗎?尋找相當於jQuery運算符的d3.js的列表
(這有點兒吸加載的jQuery比能夠做出一個調用,例如$('#frobozz').height()
,當我已經有d3.js
周圍其他沒有其他用途。)
有誰知道jQuery運算符/方法的d3.js等價物(或接近等價物)的完整列表嗎?尋找相當於jQuery運算符的d3.js的列表
(這有點兒吸加載的jQuery比能夠做出一個調用,例如$('#frobozz').height()
,當我已經有d3.js
周圍其他沒有其他用途。)
嚴格來說,沒有這樣一個列表,因爲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.height
或d3.select('#froboxx').style('height')
。或者如果它是其中height
被設置爲屬性的元素(例如svg
或img
元件),那麼d3.select('#froboxx').attr('height')
還將爲您計算的值。但是,當均設置爲時,precedence of style v/s attribute就會啓動並且該任務再次變爲非平凡。
一個妥協可能的,因爲jQuery的1.8是,你可以準備your own jQuery
build這還不包括你不需要任何模塊。缺點是您必須將文件託管在您的服務器上。沿着這些線路的另一個替代方案是使用ZeptoJS
。
有一定的這個不完整列表。然而,選擇器與jQuery非常相似,用替換爲d3.select
或d3.selectAll
。運營商如.height()
將等同於.attr("height")
。
對於任何特定的情況,應該很容易找出用D3調用什麼,這樣就不必加載jQuery。畢竟,無論是哪種情況,您都可以訪問DOM元素。
+1照亮答案。謝謝! – kjo