我有一个关于rails应用程序的Jquery问题...我有以下代码(简化),其中类是动态生成的:
<div class="one"></div>
<div class="one"></div>
<div class="two"></div>
<div class="three"></div>
<div class="four"></div>
<div class="four"></div>
在上面的例子中,我需要找到两个带有“one”类的div和两个带有“4”类的div,以便将独特的样式应用于这四个div。
在实际代码中,有超过4个可能的类,这会产生我的问题(有更接近30-40个不同的类)。
可能的类集只会随着这个应用程序而增长和变化,并且jquery不能绑定到任何特定的类或类集......它需要考虑一组无限的类。 / p>
如果没有指定特定的类或类集,例如.one,.two,.three,.four等,我怎么能找到页面上与另一个div共享一个类的所有div,无论是什么那个班是什么?
答案 0 :(得分:0)
非常重,基本上是@CBroe的意思:
$(function() {
$("div[class]").each(function() {
var num = $("."+this.className).length;
if (num > 1) alert(this.className + " is duplicate!");
});
});
如果你的元素有多个类,你需要在空格中分割它们并迭代它们。
答案 1 :(得分:0)
如何在页面上找到与另一个div共享类的所有div
这意味着你已经有了一个特定的div(例如:#someDiv),它有一些类,并且你想找到所有与#someDiv有共同的一个或多个类的div
我希望我能正确理解你的问题。
试试这个:
var classList = $('#someDiv').attr('class').split(/\s+/);
for(var i = 0; i < classList.length; i++) {
classList[i] = '.' + classList[i];
}
var selector = classList.join(', ');
$(selector).css('color', '#FF0000');
最后一行基本上选择了与我们的初始div共享任何类的所有div。
我希望这就是你要找的东西。
干杯!