2011-08-01 4 views
1

Ceci est une question rapide.Finition d'une instruction If

<table id="menuStructuresPageList" class="rounded-corner dataTablePageList"> 

if ($('.dataTablePageList')) { 

Ce que je veux faire est de faire une déclaration qui se dit que si l'objet qui a une classe de dataTablesPageList dispose également d'un identifiant de menuStructuresPageList alors ....

Mais je ne suis pas sûr Je compléterais la queue de l'instruction if.

EDIT:

Le point que je fais est ce code est partagé avec beaucoup de tables pour toutes les tables ont la classe de dataTablePageList mais si l'un d'eux a l'id d'un menuStructuresPageList alors il doit faire le si partie de la déclaration.

if ($('.dataTablePageList')) { 

} else { 

var oTable = $('.dataTablePageList').dataTable({ 
    "bJQueryUI": true, 
    "iDisplayLength": 10, 
    "sPaginationType": "full_numbers", 
    "aoColumnDefs": [ 
      { "sWidth": "20px", "aTargets": [ 0 ] }, 
      { "sWidth": "40px", "aTargets": [ -1 ] }, 
      { "sWidth": "40px", "aTargets": [ -2 ] }, 
      { "bSortable": false, "aTargets": [ 0 ] }, 
      { "bSortable": false, "aTargets": [ -1] }, 
      { "bSortable": false, "aTargets": [ -2 ] }, 
      { "sClass": "center", "aTargets": [ 0 ] }, 
      { "sClass": "center", "aTargets": [ -1 ] }, 
      { "sClass": "center", "aTargets": [ -2 ] } 
     ] 
}); 
} 
+1

Il vous aiderait à lire sur les sélecteurs css: http://htmldog.com/guides/cssbeginner/selectors/ –

Répondre

4

J'utiliser .hasClass

if (!$('#menuStructuresPageList').hasClass('dataTablePageList')) { 
    ... 

EDIT: Vous voulez dire que vous voulez deux branches dans le if?

if ($(this).hasClass('.dataTablePageList')) { 

    // do something 
    if(this.id == "menuStructuresPageList") { 

     // do something 
    } 

} else { 
     ... 
+0

Vérifiez mon code mis à jour pour comprendre ma situation. –

+1

@Jeff Davidson - S'il vous plaît voir ma modification. (Eek, et mon ré-éditer! et mon re-ré-éditer!) – karim79

+0

Laissez-moi essayer et expliquer à nouveau. Toutes mes tables ont la classe dataTablesPageList. Tous. Cependant si la table a un identifiant de menuStructuresPageList alors je veux qu'il fasse quelque chose au lieu de la partie else. –

2

Essayez:

if($("#menuStructuresPageList.dataTablesPageList").length){ 
// your code 
} 

ou

if($("#menuStructuresPageList").hasClass("dataTablesPageList")){ 
// your code 
} 
+0

Je me suis excusé je ne l'ai pas expliqué plus vérifier ma page mise à jour modifier dans une seconde. –

+0

Lisez mes modifications sur le traitement de plusieurs tables, donc je cherche à voir si la table a un identifiant de quelque chose de spécifique. –

+1

@Jeff: Au moment où j'ai vérifié l'édition, Karim a déjà répondu de la meilleure façon possible. Pls chk tht – Chandu

1

Si vous voulez seulement un objet qui a à la fois l'ID spécifié et la classe, alors vous pouvez les mettre à la fois dans la spécification du sélecteur jQuery comme ceci:

if ($('#menuStructuresPageList.dataTablePageList').length > 0) { 
    // found object with id="menuStructuresPageList" and class="dataTablePageList" 
} else { 
    // didn't find object with both class and id as specified 
} 

En les mettant ensemble dans le sélecteur avec aucun espace entre eux signifie que le même objet doit avoir les deux.