03 2012 档案
摘要:children是个好属性,通过这个属性取得的节点不饱和文本节点,如果使用childNodes的话会包括文本节点。这个属性首先有ie进入,现在已经跨浏览器。使用他可以减少我们过滤节点的操作。兼容情况见http://www.quirksmode.org/dom/w3c_core.html<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html x
阅读全文
摘要:javascript 设计模式大神原创http://dustindiaz.com/smallest-domready-everfunction r(f){/in/.test(document.readyState)?setTimeout('r('+f+')',9):f()} 我改造了一下function ready(fn){var delay;/complete/.test(document.readyState)?delay=setTimeout(function(){arguments.callee.apply(null,arguments)},9):del
阅读全文
摘要:随着firefox11的发布这个技术壁垒已经被打破。 可能大家对innerHTML非常熟悉,outerHTML还有点眼生。这一组4个方法都是由微软发明的,自ie4.0起纳入html DOM,后面各浏览器厂商陆续提供了支持。但是由于firefox不支持所以还不能直接使用。以至于出现了各种版本如修改HTMLElement.prototype.__defineSetter__来达到跨浏览器性。这个和innerHTML的区别在那?见例子<p><b>abc</b></p> p.innerHTML //<b>abc</b>p.oute
阅读全文
摘要:事件委托的概念大家都很清楚,如果在某个元素上使用mouseover/mouseout的话,很有可能就被动的委托了这个事件。该元素中的子元素都会触发mouseover/mouseout而且无法通过停止冒泡来处理这个烦人的意外情况。 在ie上有两个非常好的事件,mouseenter/mouseleave他们不会冒泡,当然不会产生这个问题。新版本的ff10opera11都有支持这个事件。遗憾的是chrome19还没有支持。流行的类库比如jquery已经支持这个事件了。对于不支持这两个事件的浏览器必须自己处理了。 通过处理mouseover/mouseout也可以达到mouseenter/mo...
阅读全文