2012-03-10 6 views
0

私はテーブルのソートの見出しとして機能する3つのリンクを持っています。それぞれのリンクは「ソート」クラスのメンバーです。任意の「ソート」クラスリンクがクリックされたときにトリガされる単純なjquery関数を作成しました。 tablesorterプラグインで使用する特定の列番号(columnNum)を割り当てるスイッチケースがあります。しかし、今、ソートクラスのidのために返された奇妙な値が得られます。うまく機能の残りの部分を提供していない - 私は列変数を警告する場合正しい要素IDを返すことに問題があります

$(".sort").toggle(function() { 
    // the column id's are datecaption, hourscaption, taskcaption 
    var column = $(this).attr('id'); 
    var columnNum; 

    switch(column){ 
     case 'datecaption': 
      columnNum = 1; 
      break; 
     case 'hourscaption': 
      columnNum = 2; 
      break; 
     case 'taskcaption': 
      columnNum = 3; 
      break; 
     default: 
      break; 
    } 

    var sorting = [[columnNum,1]]; 
    $("#task_table").trigger("sorton",[sorting]); 
    return false; 
}, function(){ 
    var sorting = [[columnNum,0]]; 
    $("#task_table").trigger("sorton",[sorting]); 
    return false;    
}); 

は、私が「aeaoofnhgocdbnbeljkmbjdmhbcokfdb-マウスダウン」を得ます。

これはなぜ起こっているのかもしれないのですか?

おかげで多くのコードまたはそれと言うのは難しいHTMLなし

答えて

1

。私の推測は$(this)だと思います。 console.log($(this));(好ましくはFirebug)を追加してください。結果をクリックすると、$(this)が実際に参照しているものが表示されます。

また、$('#aeaoofnhgocdbnbeljkmbjdmhbcokfdb-mousedown')のDOMを照会すると、$(this)が参照されます。 https://developer.mozilla.org/en/JavaScript/Reference/Operators/this

+0

はい、それは私が包むスパンのIDではなく、リンクのを探していたが判明した:「これは」Mozilla Developer Networkコンテンツのライセンスをチェックアウトし、異なる状況で参照されますどのような方法の詳細については

。私はコンソールにログする前にそれが未来にとって貴重なツールだとは知らなかった。ありがとうございました!! –

+2

私は助けることができてうれしい。 console.logはあなたにとって初めてのことなので、ちょうどFYIです。あなたは '生産'コードからそれを取り出してください。開発ツールが開いていない限り、IEなどの一部のブラウザにはコンソールが定義されていません。だからあなたは不愉快な未定義のエラーを取得します! –

+1

if(!console ||!console.log){console = {};のようなものを使用することもできます。 console.log = function(msg){}; }を使用してエラーを防止します。他にも本当に便利なコンソール機能がたくさんあります。http://getfirebug.com/logging – Shane

関連する問題