我在css中有一个用于输入文本的类。我还有两个课程从第一课开始,如下所示:
.input-text-parent {
background-color: gray;
}
.input-text-child-1 {
extends: input-text-parent;
background-image: url(images/image1.jpg);
}
.input-text-child-2 {
extends: input-text-parent;
background-image: url(images/image2.jpg);
}
现在,我想要做的是用jQuery选择扩展第一个类的所有元素(在本例中为input-text-parent)。 我知道用$(“。class”)我可以获得该类的所有元素,但我不知道如何获取它的所有子类。
非常感谢你。
我希望我的解释清楚。
答案 0 :(得分:1)
我建议重构你的css,为复杂的元素使用两个类而不是另一个扩展另一个的类,除了不需要预处理之外,它们完全相同。例如:
.input-text {
background-color: gray;
}
.input-text.child-1 {
background-image: url(images/image1.jpg);
}
.input-text.child-2 {
background-image: url(images/image2.jpg);
}
然后您可以使用以下标记:
<div class="input-text"></div>
<div class="input-text child-1"></div>
<div class="input-text child-2"></div>
以下javascript通过jQuery:
$(".input-text").stuff(); //Select all of them
$(".input-text.child-1").stuff(); //Select only child-1
等。
答案 1 :(得分:0)
jQuery没有专门为此构建的内容,因为css实际上没有子类支持。每个“子类”实际上只是完全独立的类,恰好具有相似的名称。
jQuery的filter
方法与className
属性相结合,应该能够选择类input-text-child-n
$("input").filter(function(){
return this.className.indexOf("input-text-child-") >= 0;
}).doSomething();