JavaScript DOM对象转换为jQuery对象

47

如何将 JavaScript DOM 对象转换为 jQuery 对象?

<tr onclick="changeStatus(this)">

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

我应该用什么代替XXX? 我知道可以使用id和id选择器来解决,但这并不优雅。 有没有办法将js DOM对象转换为jQuery对象或在jQuery中使用this关键字?

2个回答

77
var $this = $(myObject);

$this 是一个 jQuery 对象。你可以通过 DOM 元素创建 jQuery 对象。

<tr onclick="changeStatus(this)">

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

我建议你也使用jQuery来绑定你的事件:

<tr class="change-status">

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

这样做很好,因为现在所有的JS代码都在同一个地方,可以更容易地更新(我认为)。请注意,如果要绑定到DOM中的所有<tr>元素,则不需要将类添加到<tr>元素中。


你关于事件处理程序在JavaScript中的说法是完全正确的。但有些情况下,定义事件处理程序并不在你的掌握之中。例如,第三方插件可能会处理click事件。因此,你的第一个示例对我更有帮助。无论如何,这是一个完美的解决方案! - Ahmad Maleki

13

只需将DOM对象包装为第一个参数即可。

$(myObject).removeClass('foo');

最简单的。适合我。 - vapcguy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接