【问题标题】:jquery $(event.target) returns DOM in console, not HTMLjquery $(event.target) 在控制台中返回 DOM,而不是 HTML
【发布时间】:2013-06-03 22:12:56
【问题描述】:

使用此代码

$(document).on('click', '.docs-tag', function(event){
    console.log($(event.target))
})

我希望看到

[<some html>]

而是得到

[span.icon-tag docs-tag child_hover dropdown-open, context: span.icon-tag docs-tag child_hover dropdown-open, constructor: function, init: function, selector: "", jquery: "1.8.2"…]

我最近升级到 jquery 1.8.2。我们处理 $(event.target) 的方式是否发生了变化?

【问题讨论】:

  • 这就是 DOM 元素(或 jQuery 对象)在控制台中的显示方式。不用担心。
  • 如果元素有一个属性 'data-thing'='some value',那么执行 $(event.target).data('thing') 会返回 undefined。
  • 对我来说很好用:jsfiddle.net/FxQJk。但我在小提琴中使用 1.8.3,如果它有所作为。

标签: javascript jquery javascript-events


【解决方案1】:

这与浏览器输出的变化有关,与 jQuery 无关。这是一个关于这个主题的线程 - console.logging

【讨论】:

  • 很好的发现。投票结束时重复(至少我认为是)。
【解决方案2】:

如果您想查看 DOM 节点,请执行以下操作:

console.log($(event.target)[0]);

【讨论】:

    【解决方案3】:

    event.target 返回 DOM 元素,因此您可以检索任何具有值的属性/属性

    试试这个

    $(event.target).text()
    

    【讨论】:

      猜你喜欢
      • 2016-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多