2016-08-16 16 views
1

私はjoomlaでjqueryを使って、のSourcererプラグインを使用してタブを試していますが、重要ではありません。ヌルの 'removeClass'プロパティを読み取ることができません

私のコードはjsfiddleとローカルの.htmlのドキュメントで完全に動作しますが、ライブウェブサイトでは動作しません。

それはコードである。ここ* 7弦

Uncaught TypeError: Cannot read property 'removeClass' of null

  • を書き込みます:

    $(function(){ 
     
    \t \t $('.tabs').on('click','a',function(e){ 
     
    \t \t \t e.preventDefault(); 
     
    \t \t \t $hash = this.hash; 
     
    \t \t \t $link = $(this); 
     
    \t \t \t 
     
         if ($link.parent('.active')){ 
     
    \t \t \t $('.tabs-block .active').removeClass('active'); 
     
    
     
    \t \t \t $('div.active').removeClass('active'); 
     
    \t \t \t $($hash).addClass('active'); 
     
    \t \t \t $link.parent().addClass('active'); 
     
         } 
     
    \t \t }) 
     
    \t 
     
    })
    .tabs-block div{display:none;} 
     
    .tabs li{display:inline-block;} 
     
    ul.tabs{margin:0;position: relative;top: 2px;} 
     
    .tabs li {border:solid 2px #448ebe;border-bottom:none;border-radius: 5px 5px 0 0;} 
     
    .tabs li.active{background-color:#fff;border-color:#66b366;opacity:1;} 
     
    .tabs-block div.active {display:block; \t border: solid #66b366 2px;border-radius: 5px;padding-left:10px}
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
     
    <div class="tabs-block"> 
     
    <ul class="tabs"> 
     
    <li class="active"><a href="#tab1"><img src="/images/other/fb.png"></a></li> 
     
    <li><a href="#tab2"><img src="/images/other/i.png"></a></li> 
     
    <li><a href="#tab3"><img src="/images/other/tw.png"></a></li> 
     
    <li><a href="#tab4"><img src="/images/other/vk_2.png"></a></li> 
     
    </ul> 
     
    <div class="active" id="tab1"> 
     
    <p>Tab 1</p> 
     
    </div> 
     
    <div class="" id="tab2"> 
     
    <p>Tab 2</p> 
     
    </div> 
     
    <div class="" id="tab3"> 
     
    <p>Tab 3</p> 
     
    </div> 
     
    <div class="" id="tab4"> 
     
    <p>Tab 4</p> 
     
    </div> 
     
    </div>

+0

メインのhtmlページにこのjsをどうやって入れていますか?別のjsファイルにありますか? – brk

+0

はい、別ファイルにあります。このように見えます。

+0

イオンが含まれている' html'ファイル 'tabs.js'の参照が表示されません – brk

答えて

0

あなたの論理を二重にチェックできますか?

$('.tabs-block .active').removeClass('active'); 
$('div.active').removeClass('active'); 

最初の行では、下の要素からも削除される「アクティブ」クラスを削除しています。このになります

<div class="active" id="tab1"> 

とelment:

<div id="tab1"> 

は今、アクティブなクラスとそこDIVされておらず、2番目の文は、一致する要素を見つけることができません、あなたは例外が発生します。

+0

これを修正し、 '$ link.parentは関数ではない' D: –

+0

第1の投稿のコメント –

関連する問題