I have to use <a>
inside a <label>
tag. Because there are many css styles only apply to <a>
in our current system. The <a>
tag is not linking to any pages but for styling/hovering.
See code below:
<input type="checkbox" id="my-id">
<label for="my-id"><a href="javascript:void(0)">Some text</a></label>
But when clicking on "Some text", it doesn't toggle the checkbox status.
I've tried $.preventDefault()
on the <a>
tag but doesn't work.
What should i do to make the <a>
behaves like a label?
Think of an implicit label as hugging an input, and an explicit label as standing next to an input and holding its hand. An explicit label's for attribute value must match its input's id value. For example, if for has a value of name , then id should also have a value of name .
The for attribute is an allowed attribute for <label> and <output> . When used on a <label> element it indicates the form element that this label describes. When used on an <output> element it allows for an explicit relationship between the elements that represent values which are used in the output.
If you remove the href
attribute from the a
element, clicking on the text will toggle the checkbox.
<input type="checkbox" id="my-id">
<label for="my-id"><a>Some text</a></label>
As the HTML spec states:
The
href
attribute ona
andarea
elements is not required
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With