d3 hat eine dumme Beschreibung. jQuery und d3 sind überhaupt nicht ähnlich, Sie verwenden sie nur nicht für die gleichen Dinge.
Der Zweck von jQuery besteht darin, allgemeine Dom-Manipulationen durchzuführen. Es ist ein universelles Javascript-Toolkit für alles, was Sie tun möchten.
d3 wurde in erster Linie entwickelt, um das Erstellen glänzender Diagramme mit Daten zu vereinfachen. Sie sollten es auf jeden Fall verwenden (oder etwas Ähnliches oder etwas, das darauf aufgebaut ist), wenn Sie grafische Visualisierungen von Daten erstellen möchten.
Wenn Sie eine Allzweck-JS-Bibliothek für alle Ihre interaktiven Formularanforderungen benötigen, sollten Sie jQuery, Proto oder Mootools in Betracht ziehen. Wenn Sie etwas Winziges wollen, ziehen Sie underscore.js in Betracht. Wenn Sie etwas mit Abhängigkeitsinjektion und Testbarkeit wünschen, ziehen Sie AngularJS in Betracht.
Eine allgemeine Vergleichsanleitung aus Wikipedia.
Ich kann sehen, warum jemand denken würde, dass sie ähnlich sind. Sie verwenden eine ähnliche Selektorsyntax - $ ('SELECTOR'), und d3 ist ein äußerst leistungsfähiges Werkzeug zum Auswählen, Filtern und Bearbeiten von HTML-Elementen, insbesondere beim Verketten dieser Operationen. d3 versucht, Ihnen dies auf seiner Homepage zu erklären, indem es behauptet, eine Allzweckbibliothek zu sein. Tatsache ist jedoch, dass die meisten Benutzer es verwenden, wenn sie Diagramme erstellen möchten . Es ist ziemlich ungewöhnlich, es für eine durchschnittliche Dom-Manipulation zu verwenden, da die d3-Lernkurve so steil ist. Es ist jedoch ein weitaus allgemeineres Tool als jQuery, und im Allgemeinen erstellen die Benutzer andere spezifischere Bibliotheken (wie z. B. nvd3) auf d3, anstatt es direkt zu verwenden.
Die Antwort von @ JohnS ist auch sehr gut. Fließende API = Methodenverkettung. Ich stimme auch zu, wohin die Plugins und Erweiterungen Sie mit den Bibliotheken führen.