Ich bin mir nicht sicher, was ich falsch gemacht habe. Ich habe Klassen dynamisch Zeilen zugeordnet. Diese Klassen sind geordnet und eine Zeile kann dieselbe Klasse haben. Ich möchte alle Klassen mit mehreren gleichen Bezeichnern eine Farbe bestellen. Dann die nächste Reihe von Zahlen eine alternative Farbe, bevor Sie zurück zur ursprünglichen Farbe. Die letzte Zeile scheint jedoch immer zu versagen.JQuery Klassennamen vergleichen
<body>
<table>
<thead>Row</thead>
<tbody>
<tr class="a-1"><td>A1 row</td></tr>
<tr class="a-2"><td>A2 row</td></tr>
<tr class="a-2"><td>A2 row</td></tr>
<tr class="a-2"><td>A2 row</td></tr> // should have class warning,but doesn't after js
<tr class="a-3"><td>A3 row</td></tr>
<tr class="a-4"><td>A4 row</td></tr>
<tr class="a-4"><td>A4 row</td></tr>
<tr class="a-4"><td>A4 row</td></tr>
<tr class="a-4"><td>A4 row</td></tr> // should have class warning,but doesn't after js
</tbody>
</table>
</body>
JQuery
var flag = true;
$("table tr[class^='a-']").each(function(){
var current = $(this);
if((current.attr("class") == current.next().attr("class")) || (current.attr("class") == current.prev().attr("class"))){
if(flag){
current.addClass("info");
} else {
current.addClass("warning");
}
} else {
if(flag){
flag = false;
} else {
flag = true;
}
}
});
machte ich eine jsfiddle mein Problem
welche werden Klasseninformationen haben? – DaniP
ja für die letzte Zeile funktioniert es nicht, denn bis zur letzten Zeile hat die vorherige Zeile eine Warnungsklasse und keine nächste Zeile – Geeky
Sie überprüfen nur mit attr ('class'), es gibt String von Klassennamen zurück – Geeky