我正在尝试通过它的data-id和data-type找到一个元素,所以我可以用它做一些事情,但是这样做时我发现了一个错误。这是我的函数:
find : function(id, type) {
$('.elem').each(function(index, element) {
if ($(this).data('id') == id && $(this).data('type') == type)
return $(this);
});
},
我试图做的是:
myClass.find(1, 'myType').text('whatever');
我该怎么做?
编辑: 感谢adeneo和user3558931!修改为:
findPro : function(id, type) {
return $('.elem[data-id=' + id + '][data-type=' + type + ']');
},
答案 0 :(得分:3)
find : function(id, type) {
return $('.elem[data-id="'+id+'"][data-type="'+type+'"]');
},
作为旁注,如果最初使用data()
设置数据,则无法工作,我假设这些是HTML5数据属性,如
<div data-id="something" data-type="something else"></div>
这是不可链接的,因为它没有添加到jQuery的原型
答案 1 :(得分:1)
.each()
return
用于完全不同的目的。所以你必须采取不同的方法:
......
findPro : function(id, type) {
return $('.elem[data-id=' + id + '][data-type=' + type + ']');
},
.......