'How to add string to window.location.hash
Any ideas how can I write this:
var hashValue = "#" + window.location.hash.substr(1);
$([document.documentElement, document.body]).animate({
scrollTop: $(hashValue).offset().top
}, 500);
Without getting this error:
Uncaught Error: Syntax error, unrecognized expression: #
It is working like that, but I don't want to see this error in the console.
Solution 1:[1]
var hashValue = "#" + window.location.hash.substring(1);
$([ document.documentElement, document.body ]).animate({
scrollTop: hashValue === '#' ? 0 : $(hashValue).offset().top
}, 500);
Let’s just assume window.location.hash is the empty string. In this case hashValue is "#".
So the jQuery call $(hashValue) doesn’t recognize it as an element ID, so it throws a syntax error.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Sebastian Simon |
