Webページ上のリンクをリダイレクトしようとしていますが、この簡単な例では、設定するCookieの簡単なチェックを実行するだけです。
そもそもそれがこの状況に対処する正しい方法であるかどうか、そして「download_link」クラスとのリンクがいくつかあるときに問題が発生するかどうかはわかりませんが、今でもそのようなリンクは1つだけです、宛先は未定義に設定されています。リダイレクタの呼び出しの$(this)は、変更しようとしている要素だけでなく、実際にはHTMLドキュメント全体を指しているようです...
function redirect_link(e, destination) {
if ($.cookie("contact_set") == "true") {
window.location.href = destination;
} else {
alert("cookie not set");
}
}
function redirector(destination) {
alert("creating redirector to "+destination);
return function(e) {redirect_link(e, destination)};
}
$(document).ready(function() {
$('.download_link').click(redirector($(this).attr("href")));
$('.download_link').attr("href", "#");
});