2009-07-01 23 views
4

私は次のコード行がうまくいくはずだと思いました:$(".1").attr('href', '#Home'); 右か?jQuery attr href、なぜ動作していないのですか?

しかし、別の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"); 
    }); 
}); 

私は明確に取得したい事は、あなたがクラス0.1でのdivをクリックしたときにURLがhttp://www.websiteurl.com/#Home

に変更することがあるで誰もが、それは働いて取得する方法のアイデアを持っていますか?

+6

クラス名に整数を使用しないでください。それは違法です、あなたはそれのために罰せられるでしょう:) – Sampson

答えて

6

次の文をテストしたところ、実際に動作します。私は任意のリンクをクリックした場合

 $(function() { 
      $("a").attr("href", "#123"); 
     }); 

はまた、場所は実際には間違いないと最後に#123を取り付けました。

あなたの問題は、「.1」がアンカーオブジェクトに付いていないと考えられます。 HTML仕様では、ハイパーリンク(および関連性のないhtmlタグの一部)のみが "href"属性を持っています。たとえば、.1は実際には<div class='.1'>です。つまり、href属性を設定しても、「ハイパーリンク」として動作するデフォルトの動作はありません。あなたが名前空間$( "A")を追加する必要が

$(".1").click(function(){ 
    window.location = "current/url" + "#home"; 
}); 
0

現在の場所をhref属性に追加する必要があります。

3

あなたはとても

$(".1").attr('href', document.URL + '#Home'); 

事はあなたがexample.com/にしているので、もしdocument.URLは、ポンドとすべてにURLを取得することで、現在位置を取得するためにdocument.URLを使用することができます#work、docuement.URLは「example.com/#work」を返します。だからあなたはいくつかのチェックをしたいかもしれません。もしあなたがこのスクリプトの静的なURLにいることが分かっていれば、URLをハードコードするだけです。

他にもう1つ、ActiveTab1クラスをチェックした後にクラスを追加していることがわかります。既にそのクラスがない限り、コードのその部分に移動しないでください。

0

のattr:のようにこのケースでは、programattically指定されたURLに移動しなければならない。( "のxlink:hrefの"、 "#123");

0

iframeのtegはjqueryで何もできません このconsole.log($。 ").html())のような操作をしてください。 NULLが表示されます。

+0

これは質問に無関係です。そして[偽証した](http://stackoverflow.com/a/1639342/1331430)。 –

関連する問題