今天工作偶遇一个div 如下:<div class="aa bb">fdsafdsafdsafds</div>
,页面要求这个div隐藏,第一时间想到用Jquery去做,没有办法,刚刚学习的东东都想试试身手,马上写出代码:
发现没有执行,悲剧了,难道是没有取到对象?添加个alert,看看到底有没有取到div对象:
var $a = $("div.aa bb");
alert($a[0]);
果然不出所料,没有得到对象。为什么呢?
查询帮助文档后发现,并没有这种多元素方式的写法,那么到底怎么解决呢?
思考片刻,觉得既然不行那我就换个思路,我过滤你可以吧?于是代码如下:$("div.aa").filter(".bb").hide();
但是这样想确实是太麻烦了,想到 class也是div的属性之一,用属性解决肯定是可以,于是代码如下:
$("div[class='aa bb']").hide();
写好之后,想想还是有点麻烦,没有更简单的方法?jquery的精髓是最少的代码做最多的事情,jquery的链式操作是他最吸引我的地方,那么这里能不能使用链式操作呢?片刻,实验成功,代码如下:
$("div.aa.bb").hide();
哎,太简单了,怎么当时怎么没有想到呢?悲剧。
ps:此处只是说明class多元素如何去对象,关于读者认为直接设置ID取值,本人不做解释