it-swarm-id.com

Cara mendapatkan ID elemen yang diklik dengan jQuery

Saya memiliki html berikut:

<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.... */

dan skrip jQuery berikut:

$(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; 
    }); 

});

kontrol tautan 'pagerlink' adalah ke jQuery Cycle slideshow. Jika saya menukar baris ini:

$container.cycle(id); 

untuk ini

$container.cycle(7); 

ini berfungsi ... (jelas hanya menavigasi ke slide nomor 7). Jadi, pertanyaan saya adalah bagaimana saya bisa mengambil ID dari tautan yang diklik dan meneruskannya ke baris itu?

Terima kasih sebelumnya!

39
Adam

ID Anda adalah #1, dan cycle hanya ingin nomor yang diteruskan. Anda harus menghapus # sebelum memanggil cycle.

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

Selain itu, ID tidak boleh berisi # karakter, tidak valid (ID numerik juga tidak valid). Saya sarankan mengubah ID menjadi sesuatu seperti 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; 
});
68
Rocket Hazmat

Anda hanya perlu menghapus hash dari awal:

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

Id Anda akan dilewati sebagai # 1, # 2 dll. Namun, # tidak valid sebagai ID (penyeleksi CSS ID awalan dengan #).

3
David Neale

Pertama, Anda tidak dapat memiliki nomor id saja kecuali Anda menggunakan HTML5 DOCTYPE. Kedua, Anda harus menghapus # di setiap id atau menggantinya dengan ini:

$container.cycle(id.replace('#','')); 
2
Joseph Marikle