Γιατί είναι στοιχεία null σε jQuery, υπάρχει ακόμα με document.getElementById ()

ψήφοι
1

Ι Προσπαθώ να επισυνάπτεται κάποιο jQuery με πλαίσια ελέγχου σε το GridView, με τη χρήση 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;
           });

       });

    });*/

Έτσι, γιατί κάθε προσπάθεια για την εξεύρεση μιας null αντικείμενο σε jQuery, αλλά υπάρχουν σε τακτική javascript εντός της ίδιας μεθόδου; Τι είμαι εγώ που λείπει εδώ. Έχω αρχεία του jquery js έφερε σε μια ετικέτα script ακριβώς πάνω από αυτή τη μέθοδο. Απλά δεν μπορώ να βρώ όλα τα αντικείμενα σε αυτή τη σελίδα με jQuery. Σε άλλες σελίδες, μπορώ.

Δημοσιεύθηκε 11/08/2009 στις 19:52
πηγή χρήστη
Σε άλλες γλώσσες...                            


4 απαντήσεις

ψήφοι
2

Αντικείμενα που προκύπτουν από έναν επιλογέα jQuery είναι πραγματικά περιτυλίγματα γύρω από ένα αντικείμενο DOM, έτσι ώστε να μην το έχουν πρόσβαση στις ίδιες ως αντικείμενο DOM.

Αν είστε προειδοποιεί απλά «name.id», από την πρώτη σας παραπάνω παράδειγμα, δεν θα υπάρξει οποιαδήποτε τέτοια περιουσία στο περιτύλιγμα jQuery. Δοκιμάστε να προειδοποιεί την ταυτότητά σας ως εξής:

alert(name.attr("id"));
Απαντήθηκε 11/08/2009 στις 20:00
πηγή χρήστη

ψήφοι
1
 var ID = $("#gvTimeSheet_ctl01_chkAll1");

Αυτό επιστρέφει ένα αντικείμενο jQuery, όχι ένα αναγνωριστικό. ID.id θα μπορούσε επίσης να είναι απροσδιόριστη. Για να πάρετε το ID, θα πρέπει να έχετε:

var ID = $("#gvTimeSheet_ctl01_chkAll1").attr("id");
Απαντήθηκε 11/08/2009 στις 20:02
πηγή χρήστη

ψήφοι
0

Μήπως η σελίδα που προσθέτετε αυτόν τον κώδικα ώστε να περιλαμβάνει ήδη τη βιβλιοθήκη Πρωτότυπο JavaScript;

μέθοδος «$» jQuery ποτέ δεν επιστρέφει 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() { .... });

Όλα τα σχόλια σχετικά χρειαστεί να χρησιμοποιήσετε .attr('id')στέκονται ακόμα (αν και εγώ προτιμώ $('#whatever')[0].idτον εαυτό μου.)

Απαντήθηκε 11/08/2009 στις 20:15
πηγή χρήστη

ψήφοι
2
var val = $("input:radio[name$='rdoselect']:checked").val();           
if (val == 1) {            
    $('[id$=divDate]').attr('disabled', true);                 
}else {             
    $('[id$=divDate]').attr('disabled', false);
}
Απαντήθηκε 26/02/2011 στις 11:20
πηγή χρήστη

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