javascript - jquery 使用对象作为过滤器

标签 javascript jquery

有什么方法可以通过对象选择 DOM 元素吗?

例如,我希望能够像这样将对象关联到 DOM 元素:

var obj = { a: 1, b:2 };
$('a').click(function() { this.selectThing = obj });

后来……

$.something(obj);

或者更好:

$('a|selectThing?=', obj);

类似的东西。你可以看到我想将一个对象关联到一个 DOM 元素,这样我就可以用对象抓取元素。

我知道这可以通过 filter() 方法来完成,我的问题是是否有更优雅的方式不使用 filter() 来做到这一点.

编辑:

澄清一下,我希望能够使用一个类似于选择器的对象,所以我可以做一些类似的事情 $(obj) 显然赢了'工作,但你明白了(我希望)

编辑#2:

我希望能够做这样的事情:

var obj = { prop: 'prop' };
$('a').bindTo(obj);
$.retreive(obj) // should equal $('a')

我不希望它以任何方式改变 obj (obj 应该仍然是 {prop: 'prop'} only ).

最佳答案

demo

var $div1 = $('.box1');
var $div2 = $('.box2');
var obj = { a: $div1, b: $div2 };


obj.a.css({background:'red'});


或者简写:var obj = { a: $('.box1'), b: $('.box2') };


demo jsBin 2

var obj = $('.box1, .box2'); // store objects
obj.css({background:'red'}); // access collection

关于javascript - jquery 使用对象作为过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10377367/

相关文章:

javascript - 开关 onclick 事件 onclick

javascript - History.js 和同源策略遍历 SSL

javascript - Highcharts 漏斗可视化的标签

当一个选项被选择两次时 jQuery 显示消息

javascript - 将字符添加到字符串(输入字段)

JavaScript 代码无法在表单上呈现部分内容

JavaScript this.todoList.filter 不是函数

javascript - 如何使 Slick slider 不那么不稳定并在所有宽度下工作?

javascript - JS - 停止 DIV 并在位置添加类

jquery - 当我在 JqueryMobile 中单击时如何在 ListView 上添加颜色