The A element is to be used to link to an web-resource, an you are not doing that. "#" (as in href="#") is not a URI for a web-resource, I'm not even sure that it is a valid URI at all. So to be clear, you are misusing the A element.
OK, now, you have to set the href attribute to "#" and make the click handler return false (to prevent the default behavior). If you used a SPAN, these two steps would not be necessary. BTW, forgetting to return false in the handler would add another element to the window.history object, so hitting the Back button would not load the previous page (you would have to click it twice). So, you are: 1. going against the standard (misusing the A) 2. setting an invalid URI to the href attribute 3. doing 2 additional steps (setting href and returning false in handler) 4. taking the risk that you will at one occasion forget to return false in the handler which would mess up the Back button for the user just because you are to "lazy" (no offense) to put this in your CSS code: .slick-toggle { color:blue; text-decoration:underline; } .slick-toggle:hover { cursor:pointer; } But, chances are that you will have to style the slick-toggle class anyway (because blue underlined text with everything else inherited doesn't "bring it" anyway in most cases).