jquery 类和标签的空格

关于jquery选择器的问题

举报 |2012-05-15 21:19 轻轻的影子  |  分类:JavaScript  |  浏览93次
我想为a标签中类名为more的应用点击事件,于是写了
$('a .more').click(function(){。。。(a与.more之间有空格),我发现这样不行,把他们之间的空格去掉之后就行了,这是怎么回事,选择器之间不应该有空格吗?那为什么我写$('#switcher button').click(function(){(#switcher与button之间有空格)又行?请高手解答,我刚学
2012-05-15 21:47 提问者采纳
空格表示后代关系:
a .more表示选择的为a标签内类名为more的元素
a.more表示选择的为类名为more的a标签

同理#switcher button表示选择id值为#switcher的元素下面的botton元素
评论  |  0  0

hyq2xx   | 来自团队 前端123 | 十级 采纳率44%

擅长: 烦恼 生活 互联网 其他编程语言

按默认排序 | 按时间排序

其他3条回答

2012-05-15 21:47 nur025  | 五级
a是一个标签,more是他的属性,你加空格的话它就解释为,a标签下的所有class为more的元素,如果没有空格就解释为class为more的a元素,后面加空格表示id为switcher的button,其实可以简写$("#switcher"),因为ID是唯一的
评论  |  1  0
2012-05-17 09:59 __诗情画意___  | 四级
$('a .more')  这个表示的是<a> <input type="button" class="more" value="按钮"></a> 中 你选择的是<a>标签下 class为more 的这个标签。
$('a.more') 没有空格的话   就表示有很多个<a class="more"></a><a class="next"></a> 中  你选择的是 class 为more 的<a>标签
$('#switcher button')  至于 你这个 和 $('a .more') 是一样的!

你可能感兴趣的:(jquery 类和标签的空格)