Warum sind Elemente null in jquery, noch existieren mit document.getElementById ()

stimmen
1

I m versuchen, angebracht einige Jquery Kontrollkästchen in einem gridview, mit 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;
           });

       });

    });*/

Also, warum sind alle Versuche, auf ein Objekt null in Jquery zu finden, doch gibt es in regelmäßigen Javascript innerhalb der gleichen Methode? Was bin ich hier. Ich habe die jQuery js Dateien in einem Script-Tag über diese Methode direkt gebracht. Ich kann einfach nicht scheinen, alle Objekte auf dieser Seite mit Jquery zu finden. Auf anderen Seiten, ich kann.

Veröffentlicht am 11/08/2009 um 19:52
quelle vom benutzer
In anderen Sprachen...                            


4 antworten

stimmen
2

Objekte, die von einem jQuery-Selektor führen, sind tatsächlich Wrapper um ein DOM-Objekt, so dass Sie es nicht das gleiche wie ein DOM-Objekt zuzugreifen.

Wenn Sie sich über nur „name.id“, von Ihrem ersten Beispiel alarmieren, wird es keine solche Eigenschaft auf der Umhüllung jQuery sein. Versuchen Sie, Ihre ID Alarmierungs wie folgt:

alert(name.attr("id"));
Beantwortet am 11/08/2009 um 20:00
quelle vom benutzer

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

Dies gibt ein jQuery-Objekt, nicht eine ID. ID.id würde auch undefiniert. Um die ID zu erhalten, benötigen Sie:

var ID = $("#gvTimeSheet_ctl01_chkAll1").attr("id");
Beantwortet am 11/08/2009 um 20:02
quelle vom benutzer

stimmen
0

Ist die Seite, die Sie diesen Code sind das Hinzufügen bereits die Prototype-JavaScript-Bibliothek enthalten?

jQuery „$“ Methode gibt nie null, so sollte dies kein Problem sein:

// 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 Kommentare über das Müssen verwenden .attr('id')stehen (obwohl ich lieber $('#whatever')[0].idselbst.)

Beantwortet am 11/08/2009 um 20:15
quelle vom benutzer

stimmen
2
var val = $("input:radio[name$='rdoselect']:checked").val();           
if (val == 1) {            
    $('[id$=divDate]').attr('disabled', true);                 
}else {             
    $('[id$=divDate]').attr('disabled', false);
}
Beantwortet am 26/02/2011 um 11:20
quelle vom benutzer

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