Cela peut ne pas être la meilleure façon de le faire, et je ne suis pas sûr de la performance, mais une option serait de marquer chaque colonne (dans chaque rangée) avec un id commençant par un identifiant de colonne, puis un numéro unique comme un identifiant d'enregistrement.
Par exemple, si vous aviez une colonne produit Nom, et l'ID de l'enregistrement 763, je ferais quelque chose comme ce qui suit:
<table id="table1">
<thead>
<tr>
<th>Artist</th>
<th>Album</th>
<th>Genre</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<tr>
<td id="artist-127">Red Hot Chili Peppers</td>
<td id="album-195">Californication</td>
<td id="genre-1">Rock</td>
<td id="price-195">$8.99</td>
</tr>
<tr>
<td id="artist-59">Santana</td>
<td id="album-198">Santana Live</td>
<td id="genre-1">Rock</td>
<td id="price-198">$8.99</td>
</tr>
<tr>
<td id="artist-120">Pink Floyd</td>
<td id="album-183">Dark Side Of The Moon</td>
<td id="genre-1">Rock</td>
<td id="price-183">$8.99</td>
</tr>
</tbody>
</table>
Vous pouvez ensuite utiliser jQuery pour filtre basé sur le début de la .
Par exemple, si vous voulez filtrer par la colonne de l'artiste:
var regex = /Hot/;
$('#table1').find('tbody').find('[id^=artist]').each(function() {
if (!regex.test(this.innerHTML)) {
this.parentNode.style.backgroundColor = '#ff0000';
}
});
Ceci est une façon assez efficace de le faire, mais le meilleur de tous, si peu de code: P Merci – Jimbo
http: //jsfiddle.net/urf6P/1073/... ne fonctionne pas pour moi – Si8
très belle solution! – Alphacoder