【问题标题】:Convert jquery element to html element将 jquery 元素转换为 html 元素
【发布时间】:2011-10-30 04:43:06
【问题描述】:

我有一个 jQuery 元素,但我必须将它发送到一个只接受 HTML 元素的函数。如何将 jQuery 元素转换为 HTML 元素?

【问题讨论】:

  • 你并没有真正转换它。您只需通过其数字索引从 jQuery 对象中获取它。

标签: javascript jquery element


【解决方案1】:

试试myJQueryElement.get(0)myJQueryElement[0]。 (get() 在您需要负索引时最有用,例如,如get() 的文档中所述。)

【讨论】:

  • 警告:get(0) 不会返回内部元素
  • > negative index - 负索引从匹配集的末尾开始计算,因此本示例返回列表中的最后一项。 例如$('div').get(0);将返回最后一个 div 元素。
  • 简单地说,$("# foo").get(0)$("# foo")[0] 的作用相同,但 $("# foo").get(0) 更慢。
【解决方案2】:

$("#foo")[0] 会给你一个 HTML 元素。使用方括号比使用.get() 快一点,但除非你这样做millions of times,否则你可能不会注意到。

【讨论】:

  • 即使在那时也不行!如果运行 1000 万次,括号需要 150 秒,获取需要 170 秒。我敢打赌,如果不坐在那里数数“1-Mississippi,2-Mississippi ...”,您将无法注意到密西西比州,不可能区分。做任何你觉得更具可读性的方式。 (顺便说一句,我只发布此评论,因为它让我改变了在句子中使用“密西西比州”这个词。如果有人想和我讨论圣公会的未来,我很想用“antidisestablishmentarianistically” .)
  • 讽刺的是,您在使用 Mississippilessly 后就支持可读性,但您是对的。 get 允许您通过不带参数调用它来将 jQuery 对象转换为 DOM 对象数组,或者通过提供否定参数从末尾获取 _n_th。否则它只是一个使用括号的函数。
  • 天啊。这个问题已经从我这里花费了几天时间。感谢您的回答!
  • @Malvolio 这个词不应该只是“建制主义”,因为 (anti-) 和 (dis-) 是取消的两个不?
  • @DenisG.Labrecque — 建制主义是你应该在一个没有国教的国家建立国教的信念;反建制主义是你应该在一个已经拥有它的国家继续建立国家教会的信念。据我所知,建制主义非常罕见——几乎没有人想要开始国教。反建制主义是一种常见的保守立场:“我们一直有这种废话,所以我们总是应该这样做。”
猜你喜欢
  • 1970-01-01
  • 2016-11-08
  • 1970-01-01
  • 2010-10-12
  • 1970-01-01
  • 2011-02-13
  • 2016-09-17
相关资源
最近更新 更多