如何将JavaScript中的对象关联到HTML元素
How to relate or associate an object in JavaScript to an HTML element?
如何将JavaScript中的对象关联到HTML元素?
对于数组中的每个对象,我基于该对象生成一个复选框输入元素。
如果我添加一个事件侦听器来捕获复选框更改,我如何检索与该元素关联的对象?
正如其他答案所指出的,为每个DOM节点生成唯一的id允许您将这些节点用作对象中的键。
另一种可能性是许多框架提供了将数据分配给DOM元素的实用程序。例如,在jQuery中,您可以通过编写$(checkbox).data('mydata', obj)
或YUI Y.one(checkbox).setData('mydata', obj)
来实现。
您可以为每个复选框生成一个ID,并将ID存储在相应的对象中。然后,在事件处理程序中,您可以获得更改后的复选框的ID,并通过遍历数组找到相应的对象。
为了更容易找到对象,您还可以将id映射到对象(例如objectsByID[someID] = someObject
)。使用这种方法,您甚至不必遍历数组。
创建objectsByID
映射的示例:
var objectsByID = {};
for (var i = 0; i < objects.length; i++) {
var id = "checkbox_" + i;
var checkbox = document.createElement("input");
checkbox.setAttribute("type", "checkbox");
checkbox.setAttribute("id", id);
// ...
objectsByID[id] = objects[i];
}
你给每个复选框一个递进的ID,从"checkbox0"开始,当你点击一个复选框时,你检查相对的ID号,对应于数组[x]中的对象。
下面是一个非常简单的例子
创建全局对象,在创建复选框时存储其他对象,由唯一名称标识。将复选框元素的name或id属性设置为此唯一名称。
var source = [];
var data = []; //Your data
var appendTo = document.body;//Anywhere
for(var i=0; i<data.length;i++){
var identifier = "chk"+i;
var inp = document.createElement("input");
inp.type = "checkbox";
inp.name = identifier;//.name or .id - it's up to your preference
inp.addEventListener("change", function(ev){
if(this.checked){
callback(source[this.name]);//calls function callback, passing the original object as an argument.
}
}, true);
appendTo.appendChild(inp);
source[identifier] = ...//your object.
}
相关文章:
- 将数据与HTML元素关联(不带jQuery)
- 使用FOR属性从与单选按钮关联的html标签中获取值
- 将输入 html 元素动态关联到颜色选取器
- 与 HTML 中的按钮关联的功能 - 未按预期工作
- Java 脚本:递归地遍历关联的 HTML 文件的 Dom,并打印遇到的元素类型
- 在 JavaScript 的按钮单击事件中打印与 HTML 中的复选框关联的值
- 将 JavaScript Object Function 关联到 HTML 元素
- 从Javascript关联数组中提取HTML链接以应用于D3生成的表
- 一个html的id甚至可以在相互引用的不同html文档之间关联吗
- 克隆HTML元素及其关联的处理程序
- 什么's要加载图像的关联html
- 更改单选值并与数据库和html表中的特定id关联
- 将渐进式id与html元素关联
- 从关联的html中调用WinJS.UI.Pages.define定义的函数的语法是什么?
- 如何将JavaScript中的对象关联到HTML元素
- 如何在HTA (HTML/Javascript/VBScript)中获得文件的关联图标
- HTML/JS:打开其他网站没有关联的cookie
- 从关联数组创建HTML表
- 显示另一个HTML页面上图像(alt)的文本关联
- 使用html在html表中显示JavaScript关联数组