Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7898347
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 3, 20262026-06-03T08:24:29+00:00 2026-06-03T08:24:29+00:00

I have a small script which makes an li element click-able and sets the

  • 0

I have a small script which makes an li element click-able and sets the location to that of a link inside of the li. This runs without error and my two console.log() calls are reporting back what I would expect, however, when you click on the li (whichever li) you are taken the href of the link in the last li. This doesn’t make much sense to me as I thought I had properly handled the scope.

Please correct my understanding and let me know where I went wrong.

JavaScript:

$(".homeCTA li").each(function(){
    $href = $(this).find("a").attr("href");
    console.log($(this)); // displays the expected selector
    console.log($href); // displays the correct href
    $(this).click(function(){ window.location = $href }); // this is overriding all of the previous passes
}); 

HTML:

<ul class="homeCTA">
    <li class="left"> 
        <img src="first-source.jpg">
        <h2><a href="SearchResults.asp?Cat=1833">Yada Yada Yada</a></h2>
    </li>
    <li class="right">
        <img src="second-source.jpg">
        <h2><a href="SearchResults.asp?Cat=1832">Try the bisque</a></h2>
    </li>
</ul>
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-03T08:24:31+00:00Added an answer on June 3, 2026 at 8:24 am

    Prefix $href with var, so that the variable remains local.
    Currently, you’re overwriting a $href variable which keeps getting overwritten in the loop.

    $(".homeCTA li").each(function(){
        var $href = $(this).find("a").attr("href");
        console.log($(this)); // displays the expected selector
        console.log($href); // displays the correct href
        $(this).click(function(){ window.location = $href; });
    }); 
    

    Instead of looping over the list items, you can also use the following code:

    $(".homeCTA").on('click', 'li', function(){
        window.location = $(this).find('a').attr('href');
    }); 
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have this small PHP script that takes a POST variable and writes it
I have a small script which im using to test PHP mail(), as below:
I have a small ruby script in which I'd like to use ActiveRecord to
I have a small script that I am try to port to work for
I have a small script that reads a file. After reading a line i'm
I have a small cgi script that fetches and validates a configuration file for
I have a jQuery script that fades in and fades out between containers inside
I have a small perl script ( found here ) which adds command line
I have a script that repeatedly runs an Ant buildfile and scrapes output into
Aloha everyone, I have created a small bash shell script which I wanted to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.