.filter(function) sur l'id
Bonjour,
Voilà mon problème : j'ai un tableau pour lequel je veux appliquer un filtre de sélection jquery sur les cellules <td>. Après quelques recherche, j'ai jeté mon dévolu sur la fonction filter() de jquery qui m'a l'air tout a fait adapté a cette utilisation. Mais pas moyen de la faire fonctionner avec une fonction : .filter(function)
Le filtre se fait sur l'id des td qui doivent correspondre à une regex. Le but étant de ne récupéré uniquement que certaines cellules, et leur appliquer par la suite une modification css : ici par exemple ajout d'une bordure rouge.
Auriez vous une piste a me fournir??
Code html du tableau :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
<table class="current_container_table" border="1">
<tr>
<td>
<img src="/icones/16x16/MG.png"/>
</td>
<td>
<b>1</b>
</td>
<td>
<b>2</b>
</td>
<td>
<b>3</b>
</td>
<td>
<b>4</b>
</td>
<td>
<b>5</b>
</td>
</tr>
<tr id="current_container_table_L_1_S_1">
<td>
<b>A</b>
</td>
<td id="current_container_table_C_1_L_1_S_1" class="shema_cell shema_empty_cell" align="center">
<br/>
</td>
<td id="current_container_table_C_2_L_1_S_1" class="shema_cell shema_empty_cell" align="center">
<br/>
</td>
<td id="current_container_table_C_3_L_1_S_1" class="shema_cell shema_empty_cell" align="center">
<br/>
</td>
<td id="current_container_table_C_4_L_1_S_1" class="shema_cell shema_empty_cell" align="center">
<br/>
</td>
<td id="current_container_table_C_5_L_1_S_1" class="shema_cell shema_empty_cell" align="center">
<br/>
</td>
</tr>
<tr id="current_container_table_L_2_S_1">
<td >
<b>B</b>
</td>
<td id="current_container_table_C_1_L_2_S_1" class="shema_cell shema_empty_cell" align="center">
<br/>
</td>
<td id="current_container_table_C_2_L_2_S_1" class="shema_cell shema_empty_cell" align="center">
<br/>
</td>
<td id="current_container_table_C_3_L_2_S_1" class="shema_cell shema_tube_cell" align="center">
<br/>
</td>
<td id="current_container_table_C_4_L_2_S_1" class="shema_cell shema_empty_cell" align="center">
<br/>
</td>
<td id="current_container_table_C_5_L_2_S_1" class="shema_cell shema_empty_cell" align="center">
<br/>
</td>
</tr>
</table> |
Code JS :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
function my_function()
{
var reg = new RegExp("^current_container_table_C_[0-9]_L_1_S_");
$('table.current_container_table tr#current_container_table_L_1_S_1 td.shema_cell').filter(function()
{
return reg.test($(this).attr('id'));
}
).css('border', 'solid red 2px');
} |
Au final, ben il ne se passe rien. Aucunes cellules ne voient sa bordure modifiée. Pourtant, un alert(reg.test($(this).attr('id'))) dans la fonction du .filter(function) me renvoie bien le booléan !! :? Strange is'nt it? Je pense que l'erreur vient de la mauvaise utilisation de cette fonction filter().
merci d'avance ;)