Dlaczego są elementy zerowe w jQuery, istnieją jeszcze z document.getElementById ()

głosy
1

I Usiłuję załączonym pewnym jQuery do wyboru w gridview przy użyciu 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;
           });

       });

    });*/

Więc, dlaczego są wszelkie próby znalezienia obiekt zerowy w jQuery, ale istnieją w regularnych javascript w obrębie tej samej metody? Co ja tu brakuje. Mam pliki jQuery js przyniósł w tagu skrypt bezpośrednio nad tą metodą. Ja po prostu nie mogę znaleźć żadnych przedmiotów na tej stronie z jQuery. Na innych stronach, mogę.

Utwórz 11/08/2009 o 19:52
źródło użytkownik
W innych językach...                            


4 odpowiedzi

głosy
2

Przedmioty, które wynikają z selektora jQuery są rzeczywiście obwolut wokół obiektu DOM, więc nie ma do niego dostęp samo jak obiekt DOM.

Jeśli alarmując tylko „name.id”, z pierwszym przykładzie powyżej, nie będzie żadnych takich nieruchomość na opakowaniu jQuery. Spróbuj alarmując swój identyfikator w następujący sposób:

alert(name.attr("id"));
Odpowiedział 11/08/2009 o 20:00
źródło użytkownik

głosy
1
 var ID = $("#gvTimeSheet_ctl01_chkAll1");

To zwraca obiekt jQuery, a nie ID. ID.id będzie również niezdefiniowane. Aby uzyskać identyfikator, trzeba:

var ID = $("#gvTimeSheet_ctl01_chkAll1").attr("id");
Odpowiedział 11/08/2009 o 20:02
źródło użytkownik

głosy
0

Czy strona dodajesz ten kod, aby już zawierać biblioteki Prototype JavaScript?

„$” Metoda jQuery nigdy nie zwraca wartość null, więc nie powinno być problemu:

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

Wszystkie komentarze o konieczności używania .attr('id')nadal stać (choć ja wolę $('#whatever')[0].idsobie.)

Odpowiedział 11/08/2009 o 20:15
źródło użytkownik

głosy
2
var val = $("input:radio[name$='rdoselect']:checked").val();           
if (val == 1) {            
    $('[id$=divDate]').attr('disabled', true);                 
}else {             
    $('[id$=divDate]').attr('disabled', false);
}
Odpowiedział 26/02/2011 o 11:20
źródło użytkownik

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