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