返回$(this)Dom Element jQuery

时间:2014-06-10 23:31:25

标签: jquery dom return this

我正在尝试通过它的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 + ']');
},

2 个答案:

答案 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 + ']');
},
.......