今天工作偶遇一个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取值,本人不做解释
jQuery选取带有多个class的div元素方法
在工作中遇到一个<div class='aa bb'>...</div>需要隐藏,尝试使用Jquery的`$("div.aa bb").hide();`未成功。查阅文档后发现错误的多元素选择器写法。解决方案包括使用过滤`$("div.aa").filter(".bb").hide();`,通过属性选择`$("div[class='aa bb']").hide();`,最后发现可以简化为`$("div.aa.bb").hide();`实现链式操作,实现了简洁高效的选取。
6324

被折叠的 条评论
为什么被折叠?



