Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery-如何将DOM元素和Javascript对象链接在一起?_Javascript_Jquery_Dom_Object_Inventory - Fatal编程技术网

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

jQuery-如何将DOM元素和Javascript对象链接在一起?,javascript,jquery,dom,object,inventory,Javascript,Jquery,Dom,Object,Inventory,我希望能够将javascript对象与dom元素链接起来,但找不到正确的方法。举个例子:当打开一个包含清单的页面时,它会加载其中包含的所有项目,当我将鼠标悬停在其中的图像上时,它会创建一个包含一些信息的小工具提示。页面上会有很多这样的项目,我希望能够将DOM元素与一个对象链接起来,这样我就可以轻松地访问它的属性。我希望我能正确地解释我自己 假设我在库存中有这个: <div id="slot1"><img id="item1"></div> <div i


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

假设我在库存中有这个:

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

<div id="slot2"><img id="item2"></div>
如果我需要更好地解释的话,任何帮助都将是巨大的,只要说


-Thaiscorpion只需让javascript对象知道它正在监视的对象的ID即可

function Tooltipper(divID) {
    this.id = divID;
}

Tooltipper.prototype.showTooltip = function () {
    // do tooltip stuff
    $('#' + this.id).tooltip(); // assuming that it has a tooltip thing
};

var slot1 = new Tooltipper('slot1'),
    slot2 = new Tooltipper('slot2');
然后:

slot1.showTooltip()

或者更好的方法是,不传入ID,而是传入对象:

var slot1=newtooltipper($('#slot1')

这样,您就不必每次都进行DOM查找。

使用:

显然,在注册此事件之前,必须使用
$(选择器).data(键、值)
将对象分配给每个DOM元素

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


查看以了解有关
.data()
函数的更多信息。

好的,我将查看该函数它看起来对这个函数很有用,ty!
function Tooltipper(divID) {
    this.id = divID;
}

Tooltipper.prototype.showTooltip = function () {
    // do tooltip stuff
    $('#' + this.id).tooltip(); // assuming that it has a tooltip thing
};

var slot1 = new Tooltipper('slot1'),
    slot2 = new Tooltipper('slot2');
$("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
   }
);