如何将JavaScript DOM对象转换为jQuery对象?
<tr onclick="changeStatus(this)">
function changeStatus(myObject) {
XXX.removeClass();
}
我应该用什么来代替XXX?
我知道我可以使用id和id选择器进行解决方法,但它不是那么优雅。
有没有办法将js DOM对象转换为jQuery对象或在jQuery中使用this
关键字?
答案 0 :(得分:65)
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>
元素的类。
答案 1 :(得分:13)
简单地将传递DOM对象作为第一个参数包装。
$(myObject).removeClass('foo');