2010-02-08 214 views
62

无论出于何种原因,我有这些类叫做.main_sub1.main_sub2等等。别在意为什么我不能有.main .sub用于jQuery的元素或类LIKE选择器?

有没有一种方式与jQuery的方式有可能做的属性,以获得包含main的类?

+1

你自己说的;类是一个属性。 – 2010-02-08 10:41:29

回答

154

使用$("[class^=main]")将选择其类名开始与 '主' 的所有元素。看看jQuery docs about selectors,有很多你可以使用其他的变化,例如:

  • [class*=main]将选择其类名包含的元素“主”
  • [class~=main]将选择其类名具有的元素字“主”(以空格分隔)
  • [class$=main]将选择元件,其类名结束“主”
+0

啊,当然,班级本身就是一个属性。谢谢! – 2010-02-08 10:31:14

+0

当类通过'addClass'方法添加到元素而不是作为属性添加到元素时这种工作方式吗? – ZX12R 2016-09-14 10:48:06

+0

@ ZX12R是的,从[jQuery版本1.12/2.2](https://api.jquery.com/addclass) – dlatikay 2017-01-16 17:53:36

3

在这种情况下,我只会像处理标准属性一样处理class属性。

$("[class*=main]") 
13

是的,您可以使用属性选择器来匹配class属性的某些值。

$('[class^=main]') // class begins with "main" 
$('[class*=main]') // class contains "main" anywhere within it