$ get получает объект ожидаемую ошибку, но getElementByID нет - почему? - PullRequest
1 голос
/ 27 ноября 2009

Я часто использую JS на своей странице ASP.Net. На данный момент я пытаюсь получить доступ ко многим ярлыкам в пользовательских элементах управления. В обычных ярлыках без UC работают $ get и getElementByID. Но сейчас нет.

        alert(document.getElementById('<%= ucBW1.FindControl("lblTime").ClientID %>').innerHTML);
      alert($get('<%= ucBW1.FindControl("lblTime").ClientID %>').innerHTML);

Итак, usercontrol-control-id (какое слово) правильно найдено обоими, но $ get получает «ожидаемый объект». (Конечно, я попробовал это отдельно).

Есть идеи?

(предупреждение только для проверки того, что я получаю, я хочу изменить innerHTML)

Ответы [ 3 ]

2 голосов
/ 27 ноября 2009

Если вы используете jquery, используйте

alert($('#<%= ucBW1.FindControl("lblTime").ClientID %>').html());
1 голос
/ 27 ноября 2009

Попробуйте это:

alert($('#<%= ucBW1.FindControl("lblTime").ClientID %>').html());

В JQuery '#' означает, что вы пытаетесь получить элемент по его идентификатору.

Джимме прав, я неправильно понял эту часть. метод get используется для возврата фактических DOM-элементов, которые соответствуют, вот использование функции get в вашем случае:

alert($('#<%= ucBW1.FindControl("lblTime").ClientID %>').get(0).innerHTML);

Кроме того, вы можете использовать функцию html, чтобы установить innerHTML элемента следующим образом:

$('#<%= ucBW1.FindControl("lblTime").ClientID %>').html('<b>some stuff here</b>');
0 голосов
/ 27 ноября 2009

Если он ожидает объект , вы не можете передать ему строку (идентификатор - строка). ucBW1.FindControl("lblTime") не возвращает объект? Если это так, вам не нужно добавлять .ClientID, чтобы получить его идентификатор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...