我的要求:
我有三个不同的<div>
。当用户单击第一个链接时,应显示第一个<div>
数据。点击第二个链接时,会在第一个<div>
的位置显示第二个<div>
数据。
码
<div id="firstdiv" >
//first div data
</div>
<div id="seconddiv">
//second div data
</div>
<div id="lastdiv">
//last div data
</div>
<ul class="footer_links">
<li><a href="#" id="firstlink"></li>
<li><a href="#" id="secondlink"></li>
<li><a href="#" id="lastlink"></li>
</ul>
当用户点击firstlink
需要显示fistdiv
数据时,用户点击secondlink
需要在seconddiv
位置显示firstdiv
数据
为此我已经完成了jQuery,但这不是正确的方法。
$(document).ready(function () {
$("#firstdiv").replaceWith($('#seconddiv'));
$('#seconddiv').attr('id', 'firstdiv');
});
我已完成firstdiv
替换为seconddiv
并将ID更改为firstdiv
。
它在第一个<div>
的位置显示数据。但只显示前进。不如落后。因为我在这里用firstdiv
取代seconddiv
。所以它不正确。任何人都可以这样说。我怎样才能前进和后退。
答案 0 :(得分:2)
如果您将html更改为以下内容:
<div id="firstdiv" class="datadiv">
//first div data
</div>
<div id="seconddiv" class="datadiv">
//second div data
</div>
<div id="lastdiv" class="datadiv">
//last div data
</div>
<ul class="footer_links">
<li><a href="#firstdiv" id="firstlink" class="link">first</a></li>
<li><a href="#seconddiv" id="secondlink" class="link">second</a></li>
<li><a href="#lastdiv" id="lastlink" class="link">third</a></li>
</ul>
您可以使用以下jquery:
var divs = $('.datadiv');
$('.link').click(function(e) {
e.preventDefault();
divs.hide();
$($(this).attr('href')).show();
});
答案 1 :(得分:0)
<div id="firstdiv" class="myDiv" style="display:none;" >
//first div data
</div>
<div id="seconddiv" class="myDiv" style="display:none;" >
//first div data
</div>
<div id="lastdiv" class="myDiv" style="display:none;" >
//last div data
</div>
<ul class="footer_links">
<li><a href="#" id="firstlink" data-div="firtstdiv"></li>
<li><a href="#" id="secondlink" data-div="seconddiv"></li>
<li><a href="#" id="lastlink" data-div="lastdiv"></li>
</ul>
在javascript中:
$(function () {
$(".footer_link a")click(function(e){
$(".myDiv").hide();
$("#" + $(this).data("div")).show();
e.preventDefault();
return false;
});
});