I have a simple jQuery script that I'm trying to build upon but I can't get the href string comparison to return true:
<a class="test" href="/Services/Cloud-Hosting">Click Me</a>
My script is as follows:
$('.test').click(function() {
if ($(this).href == "/Services/Cloud-Hosting") {
alert('hi');
}
else {
alert('no');
}
});
I keep getting the alert of 'no' even thought the hrefs are the same. What am I missing?
Change:
if ($(this).href
To:
if (this.href
Or $(this).attr('href')
but former is better.
To read attributes, you need to use attr
(shorthand for attribute
)
This is what you should have:
if (this.href == "/Services/Cloud-Hosting") {
alert('hi');
}
else {
alert('no');
}
try this:
if ($(this).attr('href') == "/Services/Cloud-Hosting") {
jQuery objects don't have an href
property. Just access the property of the HTMLAnchorElement using this.href
instead of creating a new jQuery object with $(this)
.
See .attr() and try this:
$(this).attr('href') == "/Services/Cloud-Hosting"
instead