Pourquoi les éléments nuls dans jquery, mais existent avec document.getElementById ()

voix
1

Je essaie de joint certains jquery à une gridview cases à cocher, en utilisant document.ready:

  $(document).ready(function()
  { 
       var chkBox= document.getElementById(gvTimeSheet_ctl01_chkAll1);
       //I can alert chkBox.id, element exists

       var name = $(input[name='gvTimeSheet$ctl01$chkAll1']);
       //Here, when I alert the id, I get a null

       var ID = $(#gvTimeSheet_ctl01_chkAll1);
      //Here, when I alert the id, I get a null

       var withClass = $(.chkAll1Class);
       //Here, when I alert the id, I get a null

       var withClass2 = $(.Bill1);
       //Here, when I alert the id, I get a null

       //This line causes the browswer to crash and gives me the following error
       //Microsoft JScript runtime error: 'null' is null or not an object
       $(#gvTimeSheet_ctl01_chkAll1).click(function()           
       {
           var checked_status = this.checked;
           $(input[class=Bill1]).each(function()
           {
           this.checked = checked_status;
           });

       });

    });*/

Alors, pourquoi toute tentative de trouver un nul objet jquery, mais il existe en javascript régulier au sein de la même méthode? Qu'est-ce que j'oublie ici. J'ai les fichiers de l'jquery amenés dans une balise de script directement au-dessus de cette méthode. Je ne peux pas sembler trouver des objets sur cette page avec jquery. Sur d'autres pages, je peux.

Créé 11/08/2009 à 19:52
source utilisateur
Dans d'autres langues...                            


4 réponses

voix
2

Les objets qui résultent d'un sélecteur jQuery sont en fait des emballages autour d'un objet DOM, de sorte que vous n'accèdent pas la même chose qu'un objet DOM.

Si vous alertant juste « name.id », à partir de votre premier exemple ci-dessus, il n'y aura pas une telle propriété sur l'emballage jQuery. Essayez d'alerter votre ID comme suit:

alert(name.attr("id"));
Créé 11/08/2009 à 20:00
source utilisateur

voix
1
 var ID = $("#gvTimeSheet_ctl01_chkAll1");

Cela retourne un objet jQuery, pas d'ID. ID.id serait également défini. Pour obtenir l'ID, vous avez besoin:

var ID = $("#gvTimeSheet_ctl01_chkAll1").attr("id");
Créé 11/08/2009 à 20:02
source utilisateur

voix
0

Est-ce que la page que vous ajoutez ce code pour inclure déjà la bibliothèque JavaScript Prototype?

La méthode « $ » jQuery ne retourne jamais nulle, donc cela ne devrait pas être un problème:

// This line causes the browswer to crash and gives me the following error
// Microsoft JScript runtime error: 'null' is null or not an object
$("#gvTimeSheet_ctl01_chkAll1").click(function() { .... });

Tous les commentaires sur besoin d'utiliser .attr('id')rester immobile (bien que je préfère $('#whatever')[0].idmoi - même.)

Créé 11/08/2009 à 20:15
source utilisateur

voix
2
var val = $("input:radio[name$='rdoselect']:checked").val();           
if (val == 1) {            
    $('[id$=divDate]').attr('disabled', true);                 
}else {             
    $('[id$=divDate]').attr('disabled', false);
}
Créé 26/02/2011 à 11:20
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more