JavaScript DOM объект для объекта JQuery - PullRequest
41 голосов
/ 29 февраля 2012

Как я могу преобразовать объект DOM JavaScript в объект jQuery?

<tr onclick="changeStatus(this)">

function changeStatus(myObject) {
       XXX.removeClass();
}

Что я должен написать вместо XXX? Я знаю, что могу обойти, используя идентификатор и селектор идентификатора, но это не так элегантно. Есть ли способ конвертировать DOM-объект js в объект jQuery или использовать ключевое слово this в jQuery?

Ответы [ 2 ]

67 голосов
/ 29 февраля 2012
var $this = $(myObject);

$this - это объект jQuery.Вы можете создавать объекты jQuery из элементов DOM.

<tr onclick="changeStatus(this)">

function changeStatus(myObject) {
       $(myObject).removeClass();
}

Я бы также рекомендовал сделать привязку вашего события с помощью jQuery:

<tr class="change-status">

$('.change-status').on('click', function () {
    $(this).removeClass( ... );
});

Это хорошо, потому что теперь весь код JSнаходится в одном месте и может быть обновлено (на мой взгляд) более легко.Обратите внимание, что класс, который я добавил к элементу <tr>, необязателен, если вы хотите связать все элементы <tr> в DOM.

13 голосов
/ 29 февраля 2012

Просто включите передачу объекта DOM в качестве первого аргумента.

$(myObject).removeClass('foo');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...