Судя по всему есть некоторая зависимость от операционной системы (или чего-то иного, но большего чем браузер) при обращении к data-атрибутам несуществующего элемента:
у меня в windows 7
$('#a').data('atrb-name')
undefined
в ubuntu :
$('#a').data('atrb-name')
null
Поэтому часто необходимо делать проверку обоих вариантов.