О сайтах и не о сайтах

Теперь и в tg!

tg

Переехал с твиттера на t.me/tulvit_blog, если что.

Метод .attr() в jQuery версий 1.5 и ниже

Помню, ранее сталкивался с проблемой, когда attr() не отрабатывал так, как нужно. Тогда не разобрался и просто переписал кусок на ванильном JS. Сейчас снова с этой же проблемой столкнулся. Попытался разобраться. Разобрался.

Суть:

Before jQuery 1.6, the .attr() method sometimes took property values into account when retrieving some attributes, which could cause inconsistent behavior.

Это из оф. документации, до этого пытался просто гуглить/тестить, но безуспешно.

Т. е. просто бага. Причем не всегда путаются атрибуты со стилями, в контексте того же SVG при попытке затребовать значение атрибута width отдается не то чтобы даже стиль, а вообще непонятно что (object SVGAnimatedLength).

В jQuery 1.6+ пофиксили, но писать сейчас приходится под 1.4, т. к. именно эта версия родная для Drupal 7.

Решил что называется отрефакторить код, переписав все на jQuery, дескать проще будет и кода меньше получится. Однако пока только сплошные проблемы.