按月归档:2015年四月月

jQuery中class选择器的限制

前两天同事找我看个脚本,说是IE8不能使用,我一想肯定是用了什么高级API了呗,一看果然

这里用了getElementsByClassName,低版本IE根本不认识,自然不行。但是转念想想又很奇怪,这个脚本明明是基于jQuery的,为什么不用$(“.className”)而用这个API呢?于是我尝试改了一下,用$(“.” + className).get()来获得DOM元素传递给下面的脚本,结果果然不行,一下子激起了兴趣。

debug后发现,获得的className是data[XXX][yyy]这样的格式(好吧,就是来自CakePHP的FormHelper),确实class中方括号[]恐怕不是合法的字符,用原生的querySelecotr也无法找到,但是getElementsByClassName却可以找到,不禁赞叹造物神奇……

赞叹过后,问题还是要解决的,不太可能让对方不使用IE8,还好绕个弯一试,

$(“class*='” + className + “‘”)

这样的方式是可以获得的,虽然效率应该是降了一个档次,不过也算是可以使用了。

严格来说这不是jQuery的限制,jQuery的表现完全在意料之中,应该说getElementsByClassName的表现有额外惊喜吧~

晚到一年的清明

清明

晚了一年,毕竟来了~

爱情不需要故事,只需要相爱的两个人 —— 突然有感而发,随便说说的。

另外,准备挖坑,Ember.js的,一旦进入工作,其他的事情就坚持不下去了:)