val change jquery jquery-cycle

change - jquery val



Cómo obtener la identificación del elemento cliqueado con jQuery (4)

Tengo el siguiente 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.... */

y el siguiente script 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; }); });

el control de enlaces ''pagerlink'' está en la presentación de diapositivas de jQuery Cycle. Si cambio esta línea:

$container.cycle(id);

para esto

$container.cycle(7);

funciona ... (obviamente solo navegando hacia la diapositiva número 7). Entonces, mi pregunta es ¿cómo puedo recoger el ID del enlace al que se hace clic y pasarlo a esa línea?

¡Gracias por adelantado!


En primer lugar, no puede tener solo un número para su ID a menos que esté usando el DOCTYPE HTML5. En segundo lugar, debe eliminar el # en cada identificación o reemplazarlo con esto:

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


Solo necesita eliminar el hash desde el principio:

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


Su id se pasará como # 1, # 2, etc. Sin embargo, # no es válido como ID (ID de prefijo de selectores CSS con #).


Sus ID son #1 , y el cycle solo quiere que se pase un número. Debe eliminar el # antes del cycle llamada.

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

Además, los ID no deben contener el carácter # , no es válido (los ID numéricos tampoco son válidos). Sugiero cambiar la ID a algo así como 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; });