【问题标题】:weird behavior with jqueryjquery的奇怪行为
【发布时间】:2013-07-18 12:33:24
【问题描述】:

我删除了之前的问题,因为我发现问题出在 jQuery 本身。

想象一下这段代码:

var el = $('<ul><li/></ul><a id="clickMe">click me!</a><p>').find('#clickMe');

为什么没有找到 clickMe ?

【问题讨论】:

  • 您可以使用事件委托,但您的问题要简单得多,只需将 .append 调用移至 var clickMeEl = ... 之前
  • 谢谢,但它对我不起作用。我已经完全重新提出了我的问题。如果您能进一步帮助我,请查看它。
  • 是的,这样它就不会找到元素,因为它没有附加到 DOM :)
  • @gustavohenke 无需将元素附加到 DOM 以在对象上使用横向方法
  • 啊,对,我知道。我读错了他的代码,这就是为什么评论...

标签: jquery templates underscore.js


【解决方案1】:

因为.find() 寻找后代,所以在你的情况下使用filter()

var el = $('<ul><li/></ul><a id="clickMe">click me!</a><p>').filter('#clickMe');

DEMO

注意:在您的 html 字符串中,您没有关闭 &lt;p&gt; 标记。

【讨论】:

  • 谢谢,看来我下次要仔细阅读jquery文档了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-04
  • 2018-07-11
  • 2014-12-25
  • 1970-01-01
  • 2023-04-09
  • 1970-01-01
相关资源
最近更新 更多