1. ホーム
  2. jquery

[解決済み】jQueryでクリックされた要素のIDを取得する方法

2022-02-03 21:10:12

質問

以下のようなhtmlがあります。

<a href="#" id="#1" class="pagerlink" >link</a>
<a href="#" id="#3" class="pagerlink" >link</a>
<a href="#" id="#2" class="pagerlink" >link</a>
/*etc.... */

と、以下のjQueryスクリプトを用意します。

$(document).ready(function() {

    var $container = $('.gallery_r').cycle({ 
        fx:     'scrollHorz', 
        speed:   500, 
        timeout: 0 
    }); 

    $('a.pagerlink').click(function() { 
        var id = $(this).attr('id');
        $container.cycle(id); 
        return false; 
    }); 

});

のリンク制御は、jQuery Cycle slideshowへのリンクです。この行を入れ替えると

$container.cycle(id); 

これには

$container.cycle(7); 

は動作する... (明らかにスライド番号7にナビゲートしているだけですが)。だから、私の質問は、クリックされたリンクのIDを拾って、その行に渡すにはどうしたらいいでしょうか?

ありがとうございました。

どのように解決するのですか?

あなたのIDは #1cycle は、ただ数字を渡されたいと思っているだけです。 そのためには # を呼び出す前に cycle .

$('a.pagerlink').click(function() { 
    var id = $(this).attr('id');
    $container.cycle(id.replace('#', '')); 
    return false; 
});

また、IDには # 文字は無効です(数値のIDも無効です)。 IDを次のようなものに変更することをお勧めします。 pager_1 .

<a href="#" id="pager_1" class="pagerlink" >link</a>

$('a.pagerlink').click(function() { 
    var id = $(this).attr('id');
    $container.cycle(id.replace('pager_', '')); 
    return false; 
});