2010-08-18 7 views
5

Je voudrais sélectionner toutes les tables où l'id commence par la même phrase, avec jquery.jQuery Sélectionnez toutes les tables avec id commençant par

Ce que je veux dire:

<table id="Tab_01"> 
    <tr> 
     <td>.... 
    <tr> 
    .... 
</table> 

<table id="Tab_02"> 
    <tr> 
     <td>.... 
    <tr> 
    .... 
</table> 
<table id="Tab_03"> 
    <tr> 
     <td>.... 
    <tr> 
    .... 
</table> 
<table id="xyz"> 
    <tr> 
     <td>.... 
    <tr> 
    .... 
</table> 

Ce que je dois, est de sélectionner les tables qui commencent par "Tab_" et non la table avec id = "xyz"

Je voudrais d'utiliser ce code pour faire une navigation similaire avec ce plugin: http://projects.allmarkedup.com/jquery_evtpaginate/demo_basic.html

Quelqu'un peut-il m'aider ???

Merci beaucoup.

Alessandro

+0

Ne pouvez-vous pas simplement ajouter une classe à toutes ces tables? Ce serait probablement plus rapide et plus facile. –

+0

Ajout d'une classe serait mieux, mais cela peut être fait comme est. Voir la réponse de Ken Redler. – EndangeredMassa

+0

La [documentation jQuery] (http://api.jquery.com/attribute-starts-with-selector/) suggère d'utiliser ce sélecteur dans la réponse de Ken Redler "[...] pour identifier les éléments dans les pages produites par le serveur des frameworks qui produisent du HTML avec des ID d'éléments systématiques. " rossale pourrait ne pas être en mesure d'ajouter des classes aux éléments. –

Répondre

11

Essayez ceci:

$('table[id^=Tab_]') 
1

Utilisez un filter():

$('table').filter(function(index){ 
    return this.id.substring(0,4) == 'Tab_'; 
}); 
2

Padolsey a créé un bon plug-in pour cela. Vérifiez-le here.

$("table:regex(id, ^Tab)") 

C'est la façon la plus optimisée de le faire.

Questions connexes