Hvorfor er elementer null i jQuery, men likevel finnes med document.getElementById ()

stemmer
1

I m prøver å festet noen jquery å boksene i en Gridview, ved hjelp av 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;
           });

       });

    });*/

Så, hvorfor er noen forsøk på å finne en gjenstand null i jQuery, men likevel finnes i vanlig javascript innenfor samme metode? Hva er det jeg mangler her. Jeg har jQuery js filene hentet inn i et skriptmerket rett over denne metoden. Jeg klarer ikke å finne noen objekter på denne siden med jQuery. På andre sider, kan jeg.

Publisert på 11/08/2009 klokken 18:52
kilden bruker
På andre språk...                            


4 svar

stemmer
2

Objekter som følge av en jQuery velgeren er faktisk innpakninger rundt et DOM objekt, slik at du ikke tilgang til det samme som en DOM objekt.

Hvis du varsler bare "name.id", fra første eksempelet ovenfor, vil det ikke være noen slik eiendom på jQuery wrapper. Prøv å varsle din ID som følger:

alert(name.attr("id"));
Svarte 11/08/2009 kl. 19:00
kilden bruker

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

Dette returnerer en jQuery objekt, ikke en ID. ID.id vil også være udefinert. For å få ID, må du:

var ID = $("#gvTimeSheet_ctl01_chkAll1").attr("id");
Svarte 11/08/2009 kl. 19:02
kilden bruker

stemmer
0

Har siden du legge denne koden for å allerede ha Prototype Javascript-biblioteket?

jQuery er "$" metoden returnerer aldri null, så dette bør ikke være et problem:

// 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() { .... });

Alle kommentarer om som ønsker å bruke .attr('id')står fremdeles (selv om jeg foretrekker $('#whatever')[0].idselv.)

Svarte 11/08/2009 kl. 19:15
kilden bruker

stemmer
2
var val = $("input:radio[name$='rdoselect']:checked").val();           
if (val == 1) {            
    $('[id$=divDate]').attr('disabled', true);                 
}else {             
    $('[id$=divDate]').attr('disabled', false);
}
Svarte 26/02/2011 kl. 10:20
kilden bruker

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