javascript - jQuery - 如何将 DOM 元素和 Javascript 对象链接在一起?

标签 javascript jquery dom object inventory


我希望能够将 javascript 对象与 dom 元素链接起来,但找不到正确完成此操作的方法。举个例子:比如说,当打开一个包含库存的页面时,它会加载其中包含的所有项目,当我将鼠标悬停在其中的图像上时,它会创建一个包含一些信息的小工具提示。好吧,页面上会有很多这样的项目,我希望能够将 DOM 元素与一个对象链接起来,这样我就可以轻松地访问它的属性。我希望我能正确地解释我自己。

假设我在库存中有这个:

<div id="slot1"><img id="item1"></div>

<div id="slot2"><img id="item2"></div>

然后说我有一个名为 slot1 和 slot2 的 javascript 对象:

对象 slot1 具有需要在工具提示中显示的所有属性,因此我想在鼠标悬停事件中执行类似的操作:

this.showTooltip()

如果我需要更好地解释它,请提供任何帮助!

-泰国蝎子

最佳答案

使用jQuery data :

$("div.hasToolTip").hover(
   function() {
       //Get the associated data with the DOM element
       //with $(this).data(someKey)

       showToolTip($(this).data('toolTipInformation'));
   },
   function() {
       //Here you can hide all tooltips
   }
);

显然,在注册此事件之前,您必须使用 $(selector).data(key, value) 将对象分配给每个 DOM 元素。

这些示例期望每个应该有工具提示的 DOM 元素都有一个名为 .hasToolTip 的类。

查看jQuery documentation有关 .data() 函数的更多信息。

关于javascript - jQuery - 如何将 DOM 元素和 Javascript 对象链接在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6716102/

相关文章:

javascript - 如何转义 Jquery 字符串中的字符

javascript - 纯 JavaScript 将图像拖到浏览器

javascript - 为什么jQuery或诸如getElementById之类的DOM方法找不到元素?

javascript - 在 DOM 上动态创建元素但不发送任何形式

javascript - Live Magento 网站上的原型(prototype) JS 问题

javascript - 为什么这个 node.js + mongoose 代码不保存到数据库中?

javascript - 如何将值从 Controller 传递给指令

javascript - 如何将对象传递给 d3-context-menu 动态菜单列表

JavaScript 属性更改事件

jquery - 如何使用具有元素类型和ID的jquery选择器