jQuery 选择器问题
我有以下 jQuery 代码,一切正常:
$("#sidebar .m3, #sidebar .m5").toggle(function() {
$(this).find("img").attr({src:"images/Up.png"});
}, function() {
$(this).find("img").attr({src:"images/Down.png"});
});
我的问题是,不是单独指定 $("#sidebar .m3, #sidebar .m5"),其中我的菜单项可能具有类 m1、m2、m3、m4, m5等, 无论如何,是否有类似的东西:
$("#sidebar .m[*]").
这将满足“.m”之后的任何数字,所以我不需要硬编码 m3 或 m5 ?
谢谢。
I have the following jQuery code which all works fine:
$("#sidebar .m3, #sidebar .m5").toggle(function() {
$(this).find("img").attr({src:"images/Up.png"});
}, function() {
$(this).find("img").attr({src:"images/Down.png"});
});
My question is, instead of individually specifying $("#sidebar .m3, #sidebar .m5"), where my menu items may have the classes m1,m2,m3,m4,m5 etc,
is there anyway of having something like:
$("#sidebar .m[*]").
That will cater for any number after the ".m" , so I don't need to hard code m3 or m5?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果这是应用于菜单项的唯一(或第一个)类,您可以使用 属性以选择器 开头。
更好的方法是为它们提供一个公共类,例如
menu-item
,以及其他仅用作选择器对它们进行分组的类,然后简单地使用:If that's the only (or first) class applied to the menu item you can use the attribute starts with selector.
A better way would be to give them all a common class, like
menu-item
, in addition to your other class that functions simply as a selector to group them all, then simply use:你也可以这样做:
但是......你不限于一个类,你可以只使用多个类吗?要使用多个类,只需在它们之间留一个空格,例如:
然后您可以使用 that 类,如下所示:
或者,假设您的结构如下:
您可以仅使用 child-selector,如下所示:
当然还有其他方法来给这只猫剥皮同样,这仅取决于您的标记是什么。
You can also do this:
But...you're not restricted to one class, can you just use multiple? To use multiple classes just have a space between them, for example:
Then you can use that class, like this:
Or, say your structure is like this:
You can just use the child-selector, like this:
There are of course other ways to skin this cat as well, it just depends on what your markup is.
你能用稍微不同的方式来解决这个问题吗???
如果您有能力操作 HTML,可以向所有菜单项添加一个附加类作为占位符(例如,将类称为“m”)。
这将允许您搜索:
$("#sidebar.m)
Can you tackle it a slightly different way???
If you have the ability to manipulate your HTML could add an additional class to all the menu items as a placeholder (for example, call the class 'm').
This would allow you to search on:
$("#sidebar .m)
您可以使用开头选择器:
You could use the begins-with selector: