【问题标题】:JavaScript DOM object to jQuery objectJavaScript DOM 对象到 jQuery 对象
【发布时间】:2012-02-28 21:12:06
【问题描述】:

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

<tr onclick="changeStatus(this)">

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

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

【问题讨论】:

    标签: dom jquery


    【解决方案1】:
    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 中的所有 &lt;tr&gt; 元素,则不需要我添加到 &lt;tr&gt; 元素的类。

    【讨论】:

    • 您对 JavaScript 中的事件处理程序是绝对正确的。但是在某些情况下,您无法定义事件处理程序。例如第三方插件,click 事件由他们处理。所以你的第一个例子对我帮助更大。无论如何完美的解决方案!
    【解决方案2】:

    只需将 DOM 对象作为第一个参数包装起来。

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

    【讨论】:

    • 最简单的。为我工作。
    猜你喜欢
    • 1970-01-01
    • 2012-03-29
    • 2012-01-07
    • 2015-12-24
    • 2012-08-11
    • 1970-01-01
    • 2014-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多