从jQuery对象派生HTMLElement对象

M. *_*yan 5 javascript comparison jquery dom

我正在做一个相当详尽的DOM操作系列,其中一些元素(特别是表单元素)有一些事件.

我正在动态创建(实际上是从源元素克隆)几个<select>框并为它们分配一个change()事件.

更改事件执行,并且在事件的上下文中,"this"是HTML元素对象.

但是,此时我需要做的是确定此HTML元素对象的上下文.我将这些对象存储为各种数组中的jQuery实体,但很明显

[HTMLElement Object] != [Object Object]

而诀窍在于我无法转换$(this)并进行有效的比较,因为这会创建一个新对象并且指针会有所不同.

所以......我一直在反对这个问题.在过去,我已经能够通过进行innerHTML比较来规避这个问题,但在这种情况下,我比较的对象是100%相同的,只是有很多.因此,我需要一个可靠的比较.

如果我能以某种方式从我的原始jQuery对象派生HTMLElement对象,这将很容易.

思想,其他想法?救命.:(

jAn*_*ndy 5

如果我能以某种方式从我的原始 jQuery 对象派生 HTMLElement 对象,这将很容易

你不只是意味着$("#object")[0]$("#object").get(0) “派生”,对吗?

  • 实际上, $("#object")[0] 返回原生 HTML DOM 元素。 (2认同)

Poi*_*nty 4

难道您不能只用来$(this).data("something")保存元素上的数据,然后稍后检查这些值吗?(假设你不能只给这些东西简单的“id”值。)

哦,jQuery 本身也有一个你可以使用的“guid”元素(小心!)

$(myNewObject).data("identity", $.quid++);
Run Code Online (Sandbox Code Playgroud)