De ce sunt elemente nule în jquery, dar există cu document.getElementById ()

voturi
1

Eu Încerc să atașați unele jQuery la casetele de selectare într - un gridview, folosind 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;
           });

       });

    });*/

Deci, de ce sunt toate incercarile de a gasi un obiect nul în jquery, dar există în JavaScript regulat în aceeași metodă? Ce-am lipsește aici. Am fișierele JQuery js adus într-o etichetă de script direct deasupra acestei metode. Pur și simplu nu pot par să găsească alte obiecte pe aceasta pagina cu jquery. Pe alte pagini, pot.

Întrebat 11/08/2009 la 19:52
sursa de către utilizator
În alte limbi...                            


4 răspunsuri

voturi
2

Obiectele care rezultă dintr-un selector jQuery sunt de fapt învelișuri un obiect DOM, astfel încât să nu-l avea acces la fel ca un obiect DOM.

Dacă alertați doar „name.id“, de la primul exemplu de mai sus, nu va exista nici o astfel de proprietate pe învelișul jQuery. Încercați alertarea ID-ul dvs., după cum urmează:

alert(name.attr("id"));
Publicat 11/08/2009 la 20:00
sursa de către utilizator

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

Aceasta returnează un obiect jQuery, nu un act de identitate. ID.id ar fi, de asemenea nedefinită. Pentru a obține ID-ul, aveți nevoie de:

var ID = $("#gvTimeSheet_ctl01_chkAll1").attr("id");
Publicat 11/08/2009 la 20:02
sursa de către utilizator

voturi
0

Are pagina pe care o adăugați acest cod pentru a include deja biblioteca prototip JavaScript?

Metoda „$“ jQuery nu returneaza null, deci acest lucru nu ar trebui să fie o 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() { .... });

Toate comentariile despre a fi nevoie de a utiliza .attr('id')încă în picioare (deși eu prefer $('#whatever')[0].ideu.)

Publicat 11/08/2009 la 20:15
sursa de către utilizator

voturi
2
var val = $("input:radio[name$='rdoselect']:checked").val();           
if (val == 1) {            
    $('[id$=divDate]').attr('disabled', true);                 
}else {             
    $('[id$=divDate]').attr('disabled', false);
}
Publicat 26/02/2011 la 11:20
sursa de către utilizator

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