有什么方法可以通过对象选择 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/