Несколько проблем здесь. Прежде всего, несмотря на ваше объяснение, я не вижу необходимости в глобальной переменной. Это уродливая и опасная практика - это должно быть возвращаемое значение функции, если только у вас нет веских причин не делать этого таким образом.
Во-вторых, как говорит @sosborn, функция не имеет входного параметра - src
является либо другим глобальным (что вы не показали), либо код просто не может работать.
Далее, внутри find
должен быть селектор, а не объект jQuery, а внутри attr
должно быть имя атрибута (таким образом, строка "src"
), а не значение (предположительно src
содержит что-то вроде http://...
).
Кроме того, зачем превращать его в плагин jQuery?
Буквальное решение проблемы, я бы сделал так:
var checkCard = function(src) {
return !!($('#L_S_Inner img[src="' + src + '"]').length);
}
Лучшее решение - помнить, какие изображения вы создаете, отслеживая их вручную - намного быстрее.
var included = [];
// ...
// when you make an image
included[src] = true;
// ...
// when you want to know if it is there
if (included.hasOwnProperty(src)) // ...
ОБНОВЛЕНИЕ : Разместив код создания, позвольте мне переписать второе решение:
var included = [];
$('#Results a').live('dblclick', function() {
var src = $(this).attr('href');
var getC = $(this).attr('class');
if (!included.hasOwnProperty(src)) {
$(this).parent().append($('<img />', {'src': src, 'class': 'DCT ' + getC + ''}));
included[src] = true;
}
});
Кстати, обратите внимание на var
s, которые я добавил к вашим внутренним переменным. Объявите свои переменные, это полезно для здоровья.