我正在使用jquery在页面上创建两组选项卡。选项卡在单击时显示图像。第一组选项卡呈现正常,但第二组选项卡不呈现。这是html:
<div id="ecimgtabs">
<ul>
<li id="first"><a href="#ltec1">IMAGEI</a></li>
<li id="second"><a href="#ltec2">IMAGEII</a></li>
</ul>
<div id="ltec1">
<img src="path"></img>
</div>
<div id="ltec2">
<img src="path"></img>
</div>
</div>
<div id="ecimgtabs">
<ul>
<li id="first"><a href="#stec1">IMAGEI </a></li>
<li id="second"><a href="#stec2">IMAGEII </a></li>
</ul>
<div id="stec1">
<img src="path"></img>
</div>
<div id="stec2">
<img src="path"></img>
</div>
</div>
这是jquery脚本:
$(document).ready(function(){
var tabdiv = $('#ecimgtabs div');
$('#ecimgtabs div').hide();
$('#ecimgtabs div:first').show();
$('#ecimgtabs ul li:first').addClass('selected');
$('#ecimgtabs ul li a').click(function(){
$('#ecimgtabs ul li').removeClass('selected');
$(this).parent().addClass('selected');
var currentTab = $(this).attr('href');
$('#ecimgtabs div').hide();
$(currentTab).show();
return false;
});
});
答案 0 :(得分:1)
你有两个具有相同ID的div:ecimgtabs
,所以jQuery只能识别DOM中的第一个。尝试切换到班级
<div class="ecimgtabs">
<ul>
<li id="first"><a href="#ltec1">IMAGEI</a></li>
<li id="second"><a href="#ltec2">IMAGEII</a></li>
</ul>
<div id="ltec1">
<img src="path"></img>
</div>
<div id="ltec2">
<img src="path"></img>
</div>
</div>
<div class="ecimgtabs">
<ul>
<li id="first"><a href="#stec1">IMAGEI </a></li>
<li id="second"><a href="#stec2">IMAGEII </a></li>
</ul>
<div id="stec1">
<img src="path"></img>
</div>
<div id="stec2">
<img src="path"></img>
</div>
</div>
Jquery的:
$(document).ready(function(){
var tabdiv = $('#ecimgtabs div');
$('.ecimgtabs div').hide();
$('.ecimgtabs div:first').show();
$('.ecimgtabs ul li:first').addClass('selected');
$('.ecimgtabs ul li a').click(function(){
$('.ecimgtabs ul li').removeClass('selected');
$(this).parent().addClass('selected');
var currentTab = $(this).attr('href');
$('.ecimgtabs div').hide();
$(currentTab).show();
return false;
});
});
答案 1 :(得分:0)
好的,我能够弄清楚这一点。我将div ID更改为单独的。所以第一个div改为lecimgtabs,下一个divimgtabs。我相信你可以用相同的ID做到这一点,但这对我有用。这是更新后的代码:
jQuery(document).ready(function()
{
jQuery('.lecimgtabs div:odd').hide();
jQuery('.secimgtabs div:odd').hide();
jQuery('.lecimgtabs ul li:even').addClass('selected');
jQuery('.secimgtabs ul li:even').addClass('selected');
jQuery('.lecimgtabs ul li a').click(function(){
jQuery('.lecimgtabs ul li').removeClass('selected');
jQuery(this).parent().addClass('selected');
var currentTab = jQuery(this).attr('href');
if(currentTab=='#ltec2')
{
jQuery('.lecimgtabs div#ltec1').hide();
}
else
{
jQuery('.lecimgtabs div#ltec2').hide();
}
jQuery(currentTab).show();
return false;
});
jQuery('.secimgtabs ul li a').click(function(){
jQuery('.secimgtabs ul li').removeClass('selected');
jQuery(this).parent().addClass('selected');
var currentTab = jQuery(this).attr('href');
if(currentTab=='#stec2')
{
jQuery('.secimgtabs div#stec1').hide();
}
else
{
jQuery('.secimgtabs div#stec2').hide();
}
jQuery(currentTab).show();
return false;
});
});
@kyle css没有问题。