2016-06-10 63 views
0

我想要使用jquery的加载函数从外部文件中加载具有不同类的组合的div,并且我有一些问题可以正确分组。选择类的组合

$("#somediv").load("somefile.html .class1"); // loads all divs with class1 
$("#somediv").load("somefile.html .class1.class2"); // loads all divs with class1 and class2 
$("#somediv").load("somefile.html .class1,.class2"); // loads all divs with class1 and all divs with class2 
$("#somediv").load("somefile.html .class1.class2,.class3"); // loads all divs with class1 and class2 and all divs with class3 
$("#somediv").load("somefile.html .class1,.class2.class3"); // loads all divs with class1 and all divs with class2 and class3 

我想知道如何加载div(class1或class2)和class3。类似于:

$("#somediv").load("somefile.html {.class1,.class2}.class3"); 

我尝试使用(),[]和{}进行分组,但似乎没有任何工作。

我的外部文件看起来是这样的:

<div class="class1">not selected</div> 
<div class="class1 class2">not selected</div> 
<div class="class2 class3">selected</div> 
<div class="class1 class2 class3">selected</div> 
<div class="class1 class3">selected</div> 
<div class="class3">not selected</div> 
...etc 

基本上类的任意组合将是可能的。

+0

所以这是有点不清楚。从你的例子中,你想选择哪个div?你想选择div('class1'和'class3')还是('class2'和'class3')?那是对的吗? –

+0

这是正确的。 – Leuven

+0

所以我编辑清楚,你的例子中,你只选择第三和第四个div。如果错误请纠正。 –

回答

2
$("#somediv").load("somefile.html .class1.class3,.class2.class3"); 

我想这就是你要找的。将采取任何有3级和1级或2级的任何东西

+0

个人问题:为什么在项目2和3之间使用逗号,而不是项目1和2之间的逗号? –

+0

它用于枚举...选择.class1.class3然后选择.class2.class3 – Salketer

+0

谢谢,这确实解决了这个问题。对于像{class1或class2或class3}和{classA或classB或classC}和{classX或classy或classZ}这样的更长的序列,它需要更多的代码 – Leuven