jQuery attr href,为什么不工作?

Bas*_*Bas 4 jquery attributes href

我认为以下代码行应该可以正常工作:$(".1").attr('href', '#Home'); 对吧?

但是当我将它与另一个jQuery脚本集成时,为什么它不起作用?

$(window).bind("load", function() {
    $('.1').click(function() {
        $('.1').removeClass('tab1');
        $('.2').removeClass('active2');
        $('.3').removeClass('active3');
        $('.4').removeClass('active4');

        $('.1').addClass('active1');

        $('.2').addClass('tab2');
        $('.3').addClass('tab3');
        $('.4').addClass('tab4');

        $('#PortfolioMainContainer:visible').fadeOut("slow",function(){
            $('#TextContent').load('Home.html', function() {
                $(this).fadeIn("slow")
            });
            return false;
        }); 

        if(!$(".1").hasClass("ActiveTab1")) {
            $(".1").attr('href', '#Home');
            $('#TextContent:visible').fadeOut("slow",function(){
                $('#TextContent').load('Home.html', function() {
                    $(this).fadeIn("slow")
                });
                return false;
            });
        }
        $(".1").addClass("ActiveTab1");

        $(".2").removeClass("ActiveTab2");
        $(".3").removeClass("ActiveTab3");
        $(".4").removeClass("ActiveTab4");
    });
});
Run Code Online (Sandbox Code Playgroud)

我想要清楚的是当你点击带有类.1的div时,URL必须改为http://www.websiteurl.com/#Home

有没有人知道如何让它工作?

xan*_*ndy 6

我测试了以下语句,它确实有效.

        $(function() {
            $("a").attr("href", "#123");
        });
Run Code Online (Sandbox Code Playgroud)

如果我点击任何链接,毫无疑问,该位置实际上附加了#123.

我认为你的问题可能是,你的".1"没有附加到一个锚对象.在HTML规范中,只有超链接(和一些不相关的html标签)具有"href"属性.这意味着,例如,你.1实际上是a <div class='.1'>,那么,即使你把href属性赋予它,它也没有任何默认行为充当"超链接".在这种情况下,您应该以编程方式导航到指定的URL,如:

$(".1").click(function(){
    window.location = "current/url" + "#home";
});
Run Code Online (Sandbox Code Playgroud)