Если это работает в jsfiddle, то это работает. Проблема в остальной части вашего кода.
$$
возвращает коллекцию элементов. Если вы вызываете метод Element
для коллекции элементов, он волшебным образом вызывает его для каждого элемента (так же, как jQuery). Я предполагаю, что, как уже отмечали другие, у вас есть пузырящаяся проблема. Когда вы нажимаете один .obj
, вы также щелкаете по родительскому элементу, который разделяет класс.
Воспроизведенная проблема:
http://jsfiddle.net/rpflorence/hgXWm/4/
Исправление
http://jsfiddle.net/rpflorence/hgXWm/5/
Вам просто нужно использовать event.stopPropagation()
Кроме того, в вашем исходном коде вам не нужен идентификатор. Все, что $ (objId) бесполезно, у вас уже есть this
. Просто используйте его, это то же самое, что и $ (objId), только быстрее, потому что вы его уже получили.