Могу ли я получить объект jQuery из существующего элемента - PullRequest
6 голосов
/ 14 июля 2009

у меня есть функция

function toggleSelectCancels(e) {
       var checkBox = e.target;
       var cancelThis = checkBox.checked;

       var tableRow = checkBox.parentNode.parentNode;

}

как я могу получить объект jQuery, который содержит tableRow Обычно я бы пошел $("#" + tableRow.id), проблема здесь в том, что идентификатор для tableRow что-то вроде этого "x:1280880471.17:adr:2:key:[95]:tag:". Он автоматически генерируется инфраструктурным контролем. JQuery, похоже, не getElementById, когда идентификатор такой. однако стандартный dom document.getElementById("x:1280880471.17:adr:2:key:[95]:tag:") возвращает правильный элемент строки.

В любом случае, есть ли способ получить объект jQuery из элемента dom?

Спасибо, ~ ck в Сан-Диего

Ответы [ 6 ]

15 голосов
/ 14 июля 2009

Абсолютно

$(tableRow) 

http://docs.jquery.com/Core/jQuery#elements

2 голосов
/ 14 июля 2009

Вы должны быть в состоянии передать элемент прямо, как это:

$(tableRow)...

Я проверил это, создав ссылку на элемент div, затем передав его прямо в jQuery, и он создал для вас объект jQuery.

2 голосов
/ 14 июля 2009

jQuery может принимать элементы DOM, попробуйте:

$(tableRow)

или

$(checkBox.parentNode.parentNode)
2 голосов
/ 14 июля 2009

Вы можете вызвать функцию jQuery для элементов DOM: $(tableRow)

Вы также можете использовать метод jQuery closest в этом случае:

var tableRowJquery = $(checkBox).closest('tr');

Если вы хотите продолжать использовать свой идентификатор, kgiannakakis (ниже), предоставил отличную ссылку о том, как экранировать символы со специальным значением в селекторе jQuery .

1 голос
/ 14 июля 2009

См. в этом о том, как вам следует избегать идентификатора.

0 голосов
/ 14 июля 2009

попробовать:

var r = $(document.getElementById("XXXX----ID Of Your Row----XXXX"));

Теперь, если document.getElementById не возвращает неопределенное значение, вы можете использовать r как любой обычный объект jquery.

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