0

ここに私のコードがあります:(
注:私はPurlを使用しています(https://github.com/allmarkedup/purl))

$("#major").click(function() {
        $(".questions, .sections, #major_list").hide();
        $(".subnav_item:not(#major)").css("font-style", "normal");
        $("#major").css("font-style", "italic");
        $(".subnav_item:not(#major)").css("color", "black");
        $("#major").css("color", "#6666FF");
        $("#major_list").show();
        var a = 0;
        original_link = [];
        $(".major_question").each(function() {
            original_link[a] = $(this).attr("href");
            a++;
        });
    });
        $("#major_list li").click(function() {
            $("#major_sub").text($(this).text());
            $("#major_nav .questions").hide();
            $("#major_nav .questions").show("fast");
            major = $(this).text();
            major = major.toLowerCase();
            major = major.replace(" ", "-");
            var i = 0;
            $(".major_question").each(function() {
                link = original_link[i];
                i++;
                link = url.attr('host') + "/" + url.segment(1) + "/academics/" + major + "/" + link;
                alert(link);
                $(this).attr("href", link);
            });
        });

私がページにいるとしましょうhttp://localhost:3000/university-of-pittsburgh/academics/classes/do-kids-participate-in-class。警告(リンク)すると...正しいリンクが警告されます!!! しかし、リンクをクリックすると、... が前に付いた正しいリンクが表示されますhttp://localhost:3000/university-of-pittsburgh/academics/classes

  1. なぜこれが一体なのか?
  2. これを修正するにはどうすればよいですか?
4

2 に答える 2

4

(または少なくとも) でlink始まる完全な URL である必要があります。http://...//...

あなたが与えているのは、相対リンクのように見えます。

于 2013-06-13T16:55:51.747 に答える
2

リンクの前にスラッシュ「//」を配置しないと、現在のページに相対的になります。例えば:

link = url.attr('host') + "/" + url.segment(1) + "/academics/" + major + "/" + link;

になるだろう

link = '//' + url.attr('host') + "/" + url.segment(1) + "/academics/" + major + "/" + link;
于 2013-06-13T16:58:47.327 に答える