jQuery-如何将DOM元素和Javascript对象链接在一起
jQuery - How to link together a DOM element and a Javascript object?
我希望能够将javascript对象与dom元素链接起来,但找不到正确的方法。举个例子:比如说,当打开一个带有清单的页面时,它会加载其中包含的所有项目,当我将鼠标悬停在里面的图像上时,它就会创建一个包含一些信息的小工具提示。页面上会有很多这样的项目,我希望能够将DOM元素与对象链接起来,这样我就可以轻松地访问它的属性。我希望我能正确地解释我自己。
比如说我在库存中有这个:
<div id="slot1"><img id="item1"></div>
<div id="slot2"><img id="item2"></div>
并说我有一个名为slot1和slot2:的javascript对象
对象slot1具有需要在工具提示中显示的所有属性,所以我想在mouseover事件中做这样的操作:
this.showTooltip()
如果我需要更好地解释,只要说!
-Thaiscorpion
使用jQuery数据:
$("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
的类。
有关.data()
函数的更多信息,请参阅jQuery文档。
只需让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 = new Tooltipper($('#slot1'));
这样就不必每次都进行DOM查找。
相关文章:
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 循环遍历以数组为值的Javascript对象
- 从ajax请求中获取javascript对象
- 如何从对象的原型方法访问JavaScript对象属性
- 将XML转换为普通的旧JavaScript对象
- 通过引用传递JavaScript对象
- javascript对象操作:根据指定条件选择属性
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 如何在异步函数中使用javascript对象
- 临时Javascript对象
- 如何在ASP中为用户控件添加Javascript对象网
- 使用数组向下搜索Javascript对象
- Rails将JavaScript对象存储到Model的有效方式
- JavaScript对象不是从原型链继承的
- 如何创建具有默认值的JavaScript对象字段?(AngularJS模型相关)
- SetInterval在javascript对象中表现怪异
- Javascript 对象和 this 关键字
- 如何在不知道关键字的情况下访问javascript对象值
- 在 JavaScript 对象中设置要使用的运算符的属性
- 如何搜索JavaScript对象并更改值