li
要素をクリック可能にし、場所を 内のリンクの場所に設定する小さなスクリプトがありますli
。これはエラーなしで実行され、私の 2 つのconsole.log()
呼び出しは期待どおりの結果を報告していますが、li
(いずれかのli
) をクリックするhref
と、最後の のリンクに移動しli
ます。スコープを適切に処理したと思っていたので、これはあまり意味がありません。
私の理解を正し、どこが間違っていたのか教えてください。
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>