我试图从动态div中逐个获取id,然后触发click功能。如果有人能指出我正确的方向,我将不胜感激。
这是我的代码:
<div id="navigation">
<div id="nav-img1" class="slideNav"><a href="#" class="img1">img 1</a></div>
<div id="nav-img2" class="slideNav"><a href="#" class="img2">img 2</a></div>
<div id="nav-img3" class="slideNav"><a href="#" class="img3">img 3</a></div>
<div id="nav-img4" class="slideNav"><a href="#" class="img4">img 4</a></div>
</div>
<div id="container-scroll">
<div id="container">
<div id="img1" class="slideItem">img 1</div>
<div id="img2" class="slideItem">img 2</div>
<div id="img3" class="slideItem">img 3</div>
<div id="img4" class="slideItem">img 4</div>
</div>
</div>
<script>
$(document).ready(function(){
$('.slideItem').css('cursor', 'pointer').click(function() {
var id = $('.slideNav').attr('id');
$('.slideNav #'+id).find('a').trigger('click');
});
});
</script>
我希望通过查看代码来理解我想要达到的目标更清楚。
答案 0 :(得分:1)
你的意思是
var id = $(this).attr('id');
$('.slideNav #nav-'+id).find('a').trigger('click');
答案 1 :(得分:1)
问题是你在选择上混淆了一些东西,试试这个:
$('.slideItem').css('cursor', 'pointer').click(function() {
var id = $(this).attr('id');
$('.slideNav a.'+id).trigger('click');
});
这样你就可以得到点击的.slideItem的id,并使用它的类触发.slideNav的click事件。
答案 2 :(得分:0)
我认为你想要这样的东西,不需要使用ID:
$(document).ready(function(){
$('.slideItem').css('cursor', 'pointer').click(function() {
var index = $(this).index();
$('#navigation').find('a').get(index).click();
});
});
如果你想要只触发jQuery处理程序,而不是DOM节点点击方法,请使用:
$('#navigation').find('a').eq(index).click();
或者:
$('.slideNav').eq(index).find('a').click();
等...有很多可能性......