所以我有一个代码,让我可以使用for循环根据用户的输入生成选项卡。
var tabs = "";
var y = 1;
for (var x = 0; x < tabNum; x++)
{
tabs += "<li class = 'tabbers'>" + "<a href='#tab'>Tab</a>" + "</li>"
}
document.write(tabs)
现在我要做的是为我创建的标签生成内容,例如,标签1的内容是标签1,标签2标签是标签2.有关如何实现的任何想法这个?我设法做的只是循环选项卡中的内容,这不是我想要的。
答案 0 :(得分:0)
我认为这可以帮到你。我从w3school示例中获取使用bootstrap 3。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h2>Dynamic Tabs</h2>
<ul class="nav nav-tabs">
<li class="active"><a href="#home">Home</a></li>
<li><a href="#menu1">Menu 1</a></li>
<li><a href="#menu2">Menu 2</a></li>
<li><a href="#menu3">Menu 3</a></li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane fade in active">
<h3>HOME</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</div>
<div id="menu1" class="tab-pane fade">
<h3>Menu 1</h3>
<p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
<div id="menu2" class="tab-pane fade">
<h3>Menu 2</h3>
<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam.</p>
</div>
<div id="menu3" class="tab-pane fade">
<h3>Menu 3</h3>
<p>Eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.</p>
</div>
</div>
</div>
<script>
$(document).ready(function(){
$(".nav-tabs a").click(function(){
$(this).tab('show');
});
});
</script>
</body>
</html>
答案 1 :(得分:0)
您可以使用解决方案https://jsfiddle.net/df56fL56/
$( function() {
$('#tabs').append('<ul/>');
for(var i=1; i<=3; i++){
$('#tabs ul').append(`<li><a href="#tabs-${i}">Tab ${i}</a></li>`);
$('#tabs').append(`<div id="tabs-${i}">
<p>This is Tab ${i}</p>
</div>`);
}
$( "#tabs" ).tabs();
});
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div id="tabs"></div>
此代码将动态添加tabs
。
首先添加ul
,然后通过循环播放li
ul
。在同一个循环中也附加了标签内容。
我已使用ES6
backtick
附加元素。
希望这会对你有所帮助。
答案 2 :(得分:0)
使用 Jquery
$("#sub").on('click', function() {
var tabNum = $('#in').val();
var tabs = "";
for (var x = 1; x <= tabNum; x++) {
$('.app').append("<li class = 'tabbers'>" + "<a href='#tab'>This is Tab" + x + "</a>" + "</li>");
}
});
示例fiddle ..