Я пытаюсь найти элемент с его идентификатором данных и типом данных, чтобы я мог делать с ним все, но при этом обнаруживаю ошибку. Здесь моя функция:
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');
Как я могу это сделать?
EDIT: Благодаря adeneo и user3558931! Изменено:
findPro : function(id, type) {
return $('.elem[data-id=' + id + '][data-type=' + type + ']');
},
find : function(id, type) {
return $('.elem[data-id="'+id+'"][data-type="'+type+'"]');
},
как побочный элемент, это не сработает, если данные изначально были установлены с data()
, я предполагаю, что это атрибуты данных HTML5, как в
<div data-id="something" data-type="something else"></div>
и это не связано с цепью, поскольку оно не добавлено в прототип jQuery
В .each()
return
служит совершенно другая цель. Поэтому вы должны придерживаться другого подхода:
......
findPro : function(id, type) {
return $('.elem[data-id=' + id + '][data-type=' + type + ']');
},
.......
.each()
return
не делает то, что вы думаете !! :(