"I have some logic that takes the id from the element "
You could remove the for
-attribute, if you store the ID somewhere else. For example in a data-*
-attribute:
On the other hand, it is sometimes difficult to point and click an a check-box based on the styling and the capabilities of the user. There is are good reasons for using the for
-attribute.