DOMAssistant 2.8.1

November 24th, 2011 chenghong

A new build of DOMAssistant has been made available just in time for Thanksgiving! This is a maintenance release which fixed a couple of IE selector bugs since v2.8, and also has improved support for the latest versions of browsers.


Change Log

  • [Fix] attribute selector [value*=''], [value^=''] and [value$=''] do not work in IE
  • [Fix] :empty does not select elements that contain only comment nodes in IE
  • [Fix] setAttributes() does not work in IE9
  • [Fix] Special events handling in IE9
  • [Fix] Selecting dashed attributes does not work in IE
  • [Fix] Unable to select empty attributes in IE
  • [Fix] :not([attrib]) does not work in IE

DOMAssistant 2.8 final released

March 5th, 2010 chenghong

The final DOMAssistant 2.8 is now available for download. There are numerous new features and improvements in 2.8, most notably:

For a complete list of changes and bug fixes, please refer to the release notes. The documentation has also been updated for both online and offline reading.

Note that there is a potential imcompatiblity with version 2.7.x in events handling. Do read about it on the beta 1 release post.

Thank you and we hope you like the latest DOMAssistant!

DOMAssistant 2.8 Release Candidate 1

February 9th, 2010 chenghong

First release candidate for 2.8 is available!

Changes since beta 4:

  • [Chg] clientX/Y are now left untouched. Use pageX/Y instead to retrieve mouse coordinates relative to the top left of a document
  • [Fix] mouseenter/mouseleave do not work in relayEvent
  • [Fix] Event.relatedTarget incorrect in IE
  • [Fix] Event objects are sometimes ‘fixed’ more than once
  • [Fix] $(window).addEvent() adds the event twice in certain browsers


Work is now concentrated on stabilization and performance enhancement.

Beta 4 has landed – DOMAssistant 2.8 gains support for form events delegation

February 4th, 2010 chenghong

DOMAssistant 2.8 introduces event delegation since beta 1, via the methods relayEvent() and unrelayEvent(). Event delegation relies on the bubbling characteristics of events, which, unsurprisingly, do not behave consistently across browsers. Beta 1 ensures support for ‘focus’ and ‘blur’; beta 4 takes it a step further by providing support for traditionally non-bubbly form events on IE – ‘submit’, ‘reset’, ‘change’ and ‘select’. Special thanks to Greg Reimer for inspiration of the technique.

Changes since beta 3:

  • [New] Added relayEvent support for form events submit/reset/change/select
  • [New] Cross-browser support for mouseenter and mouseleave events
  • [Chg] removeEvent() now removes all events that are bound to an element (including inline ones) when triggered without arguments
  • [Fix] [selected=selected], [readonly=readonly] now work the same as [selected], [readonly]
  • [Fix] Memory leakage associated with data storage and events
  • [Fix] Minor performance improvement in internal cleanUp method


Feature set for DOMAssistant 2.8 will be freezed from this point onward. Now time for bug hunting and fixing!

DOMAssistant 2.8 hits beta 3

February 1st, 2010 chenghong

Changes since beta 2:

  • [New] Ability to avoid global namespace collision of $ and $$ with DOMAssistant.harmonize()
  • [Fix] ID selectors containing $ and = do not work
  • [Fix] Some events cannot be removed via removeEvent, such as mutation events

Introducing the ‘harmony’ mode

The harmony mode allows DOMAssistant to live with other Javascript libraries on the same page without conflict. To use it, just invoke DOMAssistant.harmonize(), like so:

<script type="text/javascript" src="DOMAssistantCompressed.js"> </script>
<script type="text/javascript">
    DOMAssistant.DOMReady( function() {
        // Use $ and $$ like you always have
    } );
    var divs = DOMAssistant.$('div');
<script type="text/javascript" src="AnotherLib.js"> </script>


We appreciate if you could report any abnormalities you might find in this beta. Version 2.8 is now closer to release than ever!

DOMAssistant 2.8 beta 2 now available

January 26th, 2010 chenghong

Changes since beta 1:

  • [Chg] Updated implementation of event.clientX/Y and event.relatedTarget
  • [Chg] focus/blur on IE now uses activate/deactivate instead of focusin/focusout for better IE5.5 support
  • [Fix] Regression bug where event handler cannot be added again after being removed.
  • [Fix] :nth-of-type, :o nly-of-type buggy in IE
  • [Fix] Negated pseudo-classes do not work
  • [Fix] Selectors that start with >, + and ~ do not work in IE
  • [Fix] Comment nodes not skipped in IE for certain selectors
  • [Fix] setStyle(‘display’, ‘none’) does not work properly in IE when the element is relatively positioned


Although beta 2 has been tested rigorously on the updated unit test suite, please report any bugs you might find.

DOMAssistant 2.8 beta 1 released

June 12th, 2009 chenghong

After being in development for the past few months, DOMAssistant 2.8 is finally ripe for public testing. Version 2.8 brings a modest set of new features and enhancements, most notably event delegation and element storage, as well as fixes many ugly bugs from the 2.7 branch. A formal unit test suite is also introduced for more systematic testing on supported browsers. Continue reading

DOMAssistant 2.7.4 out!

October 31st, 2008 chenghong

Update:  Version 2.7.4 has been released to address a regression bug that affects the addClass(), removeClass() and replaceContent() methods. Please update to this version. Sorry if it has caused any inconveniences!

We are pleased to announce that your favorite Javascript library has just received an update! Yes, it’s a zero-point-zero-one version increment, but make no mistake about it – DOMAssistant 2.7.3, while continuing its promise of being extremely light and fast, sees the addition of some much requested features and fixes, including:

Continue reading

Tabify your navigations with DOMAssistant.Tabs

October 3rd, 2008 chenghong

Four months after BoxIt Rounded Corners, Samuel Desnoës has released yet another plugin for DOMAssistant.

As its name DOMAssistant.Tabs suggests, it allows you to create a tab-based navigation system on your webpage with a simple call:


Released under MIT license, the demo and download link are available on the official website.

PURE Javascript templating engine now works with DOMAssistant

October 2nd, 2008 chenghong

PURE is a cross-browser, cross-library templating engine that runs on the client-side to render backend JSON and XML data into HTML. It is extremely lightweight, fast, and reduces complex data handling logic into a single line.

Today, the PURE team announces official support for DOMAssistant. We are proud and at the same time happy to see DOMAssistant picking up momentum on real world usage.

 Do check out the PURE-DOMAssistant demo and give this nifty little library a try!