我有两个具有以下设置的元素:
<span data-placeholder-class="test-class"></span>
<span data-placeholder-template="/some/template.hbs"></span>
我使用下划线循环包含这些属性中的任何一个元素,然后执行相关操作(如果有)。
目前这是这样做的
_.each($('[data-placeholder-class], [data-placeholder-template]'), function cb(element) {
// code goes here
})
我想知道是否有一种方法可以选择包含公共关键字(在本例中为占位符)的所有属性,而不是必须定义要循环的每个数据属性。例如
_.each($('[data-placeholder-*]'), function cb(element) {
// code goes here
})
有人知道这是否可能吗?
您可以考虑使用一个单独的函数来创建选择器,这样您就不必完整输入选择器(但当然您必须编写该函数)。
e.q.:
function getSelector() {
return Array.prototype.map.call(arguments, function(key) {
return '[data-placeholder-' + key + ']';
}).join(',');
}
这将返回您想要的选择器,并适用于 1...N 参数。
getSelector('class', 'template')
// returns "[data-placeholder-template],[data-placeholder-class]"
_.each($(getSelector('class', 'template')), function cb(element) {
// code goes here
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)