我有以下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;
});
});
$container.cycle(id);
这个
$container.cycle(7);
它有效......(显然只能导航到7号幻灯片)。所以,我的问题是如何获取被点击链接的ID并将其传递到该行?
提前致谢!
答案 0 :(得分:65)
您的ID为#1
,而cycle
只需要传递一个号码。在调用#
之前,您需要删除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;
});
答案 1 :(得分:7)
您只需要从头开始删除哈希:
$('a.pagerlink').click(function() {
var id = $(this).attr('id').substring(1);
$container.cycle(id);
return false;
});
答案 2 :(得分:3)
您的ID将作为#1,#2等传递。但是,#无效作为ID(带有#的CSS选择器前缀ID)。
答案 3 :(得分:2)
首先,除非您使用HTML5 DOCTYPE,否则您不能只为您的ID编号。其次,您需要删除每个ID中的#或者将其替换为:
$container.cycle(id.replace('#',''));
答案 4 :(得分:1)
@Adam只需使用onClick =“ getId()”添加一个函数
function getId(){console.log(this.event.target.id)}