30 open-source projects similar to phuocng/html-dom, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Html Dom alternative.
Cash is a lightweight DOM manipulation library and HTML element wrapper designed as an alternative to jQuery for selecting and modifying elements in modern browsers. It functions as a modular DOM framework and JavaScript utility library, providing a system to wrap DOM nodes into actionable collections for batch processing. The project is built with a modular design that supports tree-shaking, allowing build tools to exclude unused methods to minimize the final bundle size. It provides mechanisms for extending the core functionality and collection prototypes to implement reusable plugins and c
Cash is a lightweight JavaScript library for selecting and modifying HTML elements in modern browsers. It functions as a chainable element wrapper and DOM manipulation utility, providing a minimal alternative for managing browser DOM operations. The library uses a collection-based wrapper for DOM nodes, allowing multiple modifications and style updates to be performed in a single sequence. It is designed to provide a similar API for event handling and element management while maintaining a small footprint. The project covers a wide range of DOM manipulation capabilities, including element se
This project is a reference guide and collection of implementation patterns for replacing legacy libraries with native JavaScript. It provides a vanilla JavaScript reference guide, a modern web API cookbook, and a DOM manipulation cheat sheet to help migrate frontend dependencies to standard browser APIs. The project focuses on mapping library functions to native interfaces for DOM manipulation, network requests, and event handling. It includes a utility pattern library for common tasks such as string cleaning, type checking, and element styling. The covered capabilities include DOM element
AngleSharp is an HTML5 DOM parser and web scraping framework designed to parse HTML5, SVG, and MathML documents into a W3C compliant document object model. It functions as a programmatic HTML generator and a CSS selector engine for querying and locating specific elements within a DOM. The project provides tools for simulating browser environments to automate web interactions, navigate URLs, and submit forms. It includes a dedicated HTML and CSS minifier to reduce the file size of web assets by removing unnecessary characters. The library supports HTML DOM manipulation and the extraction of s
This project is a collection of educational resources and structured curricula designed for learning JavaScript. It provides a programming course, a coding bootcamp, and a web development tutorial to guide learners from basic syntax to advanced programming patterns. The materials cover frontend development, including the creation of dynamic user interfaces and the management of remote data via HTTP requests. The curriculum includes instructional guides on using JavaScript to interact with web services and manipulate browser elements. The scope of the project extends to asynchronous API integ
This project is a vanilla JavaScript reference guide and implementation collection designed to replace legacy libraries with native browser patterns. It provides a set of native JavaScript patterns for selecting, modifying, and navigating HTML elements, alongside a web API implementation guide for handling events and styles. The project serves as a reference for implementing asynchronous JavaScript patterns using native promises and fetch for remote data and background tasks. It also includes a client-side utility collection for performing data transformations, type validation, and element me
This project is a comprehensive JavaScript programming tutorial and language reference. It serves as a web development education resource providing instruction on modern language fundamentals, object-oriented design, and advanced asynchronous programming patterns. The resource functions as both a frontend development guide and a technical reference. It covers core language features such as closures, prototypes, promises, and typed arrays, while providing practical lessons on managing browser data and handling network requests. The content spans several key capability areas, including browser
Crawlee-python is a web crawling framework for building scalable scrapers using Python. It serves as a comprehensive tool for web scraping automation, providing a system to extract structured data from websites using both lightweight HTTP requests and headless browser automation. The framework is distinguished by its anti-bot evasion capabilities, which include browser fingerprint impersonation and tiered proxy rotation to bypass detection systems and solve challenges such as Cloudflare. It also incorporates artificial intelligence for autonomous website navigation and schema-based data extra
Flight is a JavaScript component framework and DOM interactivity library used to map behavioral logic to HTML nodes. It provides an event-driven architecture for building modular user interface elements and managing web application interactivity. The library distinguishes itself through a mixin-based system for injecting reusable functions and properties into components, promoting code reuse without rigid inheritance. It further enables behavior modification via function hooking, allowing developers to wrap existing methods to inject custom logic without altering the original source code. Th
Goutte is a PHP web scraper and DOM crawler designed for extracting data from websites. It functions as an HTTP client wrapper that enables the retrieval of web pages and the parsing of HTML content. The project provides a web form automator to programmatically fill and submit HTML forms to remote servers. It also includes a mechanism for automated website crawling by following links to discover and archive web content. The system supports stateful session management to maintain cookies and headers across requests. It further covers HTML data extraction through DOM-based element selection an
goquery is a Go HTML parsing library and CSS selector engine used to isolate and retrieve specific text or attributes from HTML documents. It functions as an HTML DOM manipulator that converts raw HTML strings into a structured tree for programmatic navigation and search. The library provides a fluent interface for chaining selection and filtering operations and utilizes a wrapper-based abstraction to simplify data extraction and manipulation of nodes. It employs an iterator-based processing mechanism to apply operations to every node within a matched selection. Its primary capabilities cove
hyperHTML is a DOM template library and data-binding engine that uses tagged template literals to render and update elements. It functions as a web component framework and a virtual DOM alternative, linking JavaScript data directly to specific HTML elements to enable automatic page updates. The project avoids the overhead of a virtual DOM by using a reconciliation process that updates only the changed parts of the real DOM. It includes a build-time HTML template minifier to compress content within template literals and reduce client-side data transfer. The library covers a broad range of cap
This project serves as a comprehensive development guide for the jQuery library, focusing on best practices and techniques for efficient web frontend development. It provides a structured collection of patterns for manipulating the document object model, managing dynamic content, and streamlining asynchronous data requests. The guide emphasizes performance and maintainability by detailing strategies for optimizing element selection, implementing event delegation, and managing element state. It covers methods for resolving library conflicts, standardizing layout dimensions, and controlling bro
Dragula is a JavaScript drag and drop library and DOM element manipulator used to move and reorder HTML elements between multiple containers. It functions as a UI interaction framework and event manager that tracks drag lifecycles to facilitate the movement of elements within a web browser interface. The library distinguishes itself through configurable constraint validation, allowing developers to define which elements are draggable and which containers are permitted drop targets. It supports specialized interaction patterns such as element cloning, the use of specific drag handles to restri
X6 is a JavaScript diagramming library and SVG graph rendering engine used to build interactive flowcharts, mind maps, and visual workflow editors. It provides a framework for defining customizable node and edge behaviors, utilizing a hybrid rendering approach that combines SVG and HTML. The library decouples the visual graph representation from underlying business logic and data structures through a dedicated state management system. It allows for extensive extensibility via a registration mechanism for custom nodes, edges, and canvas tools. The toolkit includes capabilities for automatic g
This project provides educational course materials and reference code for learning frontend web development. It serves as a tutorial and collection of examples demonstrating how to build responsive user interfaces using HTML, CSS, and JavaScript. The repository contains practical implementations and references for responsive web design, specifically focusing on fluid grids and media queries to adapt layouts across different screen sizes. It includes client-side scripting samples that illustrate how to add interactive behavior and dynamic functionality to web pages. The material covers a broa
Notie is a zero-dependency JavaScript UI library providing a suite of lightweight interface components for data collection, selection prompts, and system-level status notifications. It functions as an input component suite and a selection dialog tool that operates in any JavaScript environment without requiring third-party packages. The library includes a collection of notification tools, such as themed toast notifications that disappear after a set time and forced alert notifications that require explicit user acknowledgment for critical information. It also provides interactive dialogs for
Cycle.js is a functional reactive web framework and observable-driven UI library used for building web applications. It employs a reactive stream architecture that treats the document object model and side effects as continuous data streams, coordinating state and logic through a functional cycle. The framework distinguishes itself by isolating side effects from core logic using a system of drivers. This architecture maps external events to internal commands through a symmetric input-output pipeline, ensuring that the application remains a cycle of pure functions. The project provides capabi
Capstone is a multi-architecture disassembly framework and binary translation system. It converts binary machine code into human-readable assembly instructions for a wide variety of hardware instruction set architectures and virtual machines. The framework supports a diverse range of targets, including x86, ARM, RISC-V, and MIPS, as well as virtual machine environments like WebAssembly and the Ethereum Virtual Machine. It functions as an instruction analysis tool capable of extracting granular decomposition data and semantic information from disassembled code. The engine is designed for low-
This project is a component testing framework and utility designed for testing React components. It functions as a DOM testing library that allows for the verification of rendered output and component functionality without accessing internal implementation details. The library focuses on behavior driven development by simulating user interactions within a virtual DOM environment. It utilizes implementation-agnostic querying to locate elements via accessible roles and labels, ensuring that the interface is verified from the perspective of the user. The toolset covers frontend integration test
Rellax is a dependency-free vanilla JavaScript library and frontend utility used to create parallax web design effects. It functions as a scroll-based animation tool that moves page elements at different speeds to produce a sense of depth and layered motion. The library supports both vertical and horizontal parallax tracking for panoramic layouts and allows for motion speed control. It includes breakpoint-aware speed mapping to adjust movement based on screen width and provides viewport centering to position elements relative to the center of the screen. Beyond basic motion, the tool manages
Dockercraft is a Cuberite-based system that visualizes running Docker containers as blocks inside a Minecraft world, providing an in-game interface for managing containers through block interactions. It maps each Docker container to a distinct block entity, linking container lifecycle events to block state changes for at-a-glance status monitoring. The project uses a Cuberite server plugin to translate in-game player actions into Docker API calls, enabling starting, stopping, and inspecting containers by interacting with their block representations. A real-time polling loop periodically queri
Consent-O-Matic is a browser extension and cookie consent automation tool designed to automatically interact with privacy notices and cookie banners. It utilizes a DOM interaction engine and a privacy preference manager to map user choices to automated actions on third-party consent management providers. The project features a custom rule engine that allows for the import of external rule lists from user-provided URLs to target specific website behaviors. It employs a targeting system that combines CSS selectors with text, style, and iframe filters to locate and interact with precise web elem
Brython is a Python 3 runtime and interpreter that executes scripts directly in the web browser. It serves as a client-side environment that translates Python source code into executable JavaScript to handle frontend logic without requiring server round-trips. The project provides a bidirectional interoperability bridge between Python and JavaScript, allowing for the integration of external JavaScript libraries. It further functions as a tool for packaging Python scripts into standalone native mobile applications for Android devices. The runtime includes a library for programmatic manipulati
Just is a collection of JavaScript utility libraries designed for data manipulation, functional programming, performance optimization, statistical analysis, and string processing. It provides a set of tools for deep cloning, filtering, and transforming complex objects and arrays. The project is structured as a series of zero-dependency modules, allowing utilities to be used independently to minimize bundle size. It implements functional programming patterns including currying, piping, and partial application, and provides execution control through memoization, debouncing, and throttling. The
This project is a collection of reference implementations for vanilla web applications, interactive browser games, and core frontend development patterns. It consists of small web applications and tools built using standard HTML, CSS, and JavaScript without the use of external frameworks or libraries. The collection demonstrates various practical implementations, including browser-based mini games with arcade and word-guessing mechanics, as well as frontend interface prototypes. These examples cover the use of the native document object model for state manipulation and the implementation of i
Moveable! Draggable! Resizable! Scalable! Rotatable! Warpable! Pinchable! Groupable! Snappable!
Masonry is a JavaScript library for arranging elements of varying heights into a grid without vertical gaps. It serves as a DOM element positioner and dynamic layout manager that calculates and applies absolute coordinates to HTML elements based on available vertical space. The system functions as a responsive grid engine using percentage-based widths to maintain consistent structures across different screen sizes. It includes capabilities to recalculate grid positions after images load or browser windows resize to prevent element overlap. The library covers grid management and positioning,
LogicFlow is an SVG-based flowchart editing framework and visual graph editor used for building customizable business process diagrams. It serves as a customizable diagramming engine for rendering business process models, entity relationship diagrams, and unified modeling language charts. The system is characterized by a plugin-based architecture that allows developers to define specialized graphical elements and register pluggable modules. A distinctive feature is its overlay system, which positions standard HTML components on top of the SVG canvas to create interactive menus and control pan
Highcharts is a JavaScript charting library and interactive data visualization framework used to render complex datasets as visual charts and maps. It functions as a customizable SVG charting engine that produces scalable vector graphics for data series. The library allows for the creation of interactive data visualizations with configurable colors, labels, and themes. It also provides a cross-platform visualization wrapper to embed these web-based charts into native iOS and Android mobile applications. The toolkit supports the development of custom dashboards and provides options to build c