Почему элементы нулевые в 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;
           });

       });

    });*/

Итак, почему любые попытки найти объект нуль в JQuery, но существуют в обычном JavaScript в пределах того же метода? Что я здесь отсутствует. У меня есть JQuery файлы принесли расслоение плотной в в теге сценария непосредственно над этим методом. Я просто не могу найти какие-либо объекты на этой странице с 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 также будет неопределенным. Чтобы получить идентификатор, вам необходимо:

var ID = $("#gvTimeSheet_ctl01_chkAll1").attr("id");
Ответил 11/08/2009 в 20:02
источник пользователем

голоса
0

Есть ли страница, которую вы хотите добавить этот код уже включают в себя библиотеку Prototype JavaScript?

Метод JQuery в «$» никогда не возвращает нуль, так что это не должно быть проблемой:

// 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