When I add below script and run. I am getting this:
Uncaught Error: Syntax error, unrecognized expression: ul li a[href=#!id1]
You need to enclose special characters in quotes when using a attribute based selector.
if ($('ul li a[href="' + id + '"]').length) {
Your version of selector would result
if ($("ul li a[href=#!...]").length) {
The #!
will throw unrecognized expression.
My version where the ""
escape the characters
if ($('ul li a[href="#!..."]').length) {
I got this error, because I have added these line codes somewhere in my codes;
$("a[href^='#']").click(function(e {
e.preventDefault();
var position = $($(this).attr("href")).offset().top; // if you remove this line, then error won't come
});
you may add the below code in functions.php
function modify_jquery() {
if (!is_admin()) {
wp_deregister_script('jquery');
wp_register_script('jquery', 'https://code.jquery.com/jquery-1.11.3.min.js');
wp_enqueue_script('jquery');
}
}
add_action('init', 'modify_jquery');
I tried the solution provided by
https://github.com/jquery/jquery/issues/2885
which worked for me. I search for [href=#] in js and replace with [href*=\\#]
a[href*=\\#]:not([href=\\#])