我遇到了添加" active"类到我的标签。 我知道当我点击它时如何将活动类添加到选项卡。但我不知道如何在页面重新加载后在标签上保存活动类。
我的jsp代码的一部分
<div class="row top-buffer">
<div class="col-md-10 col-md-offset-1 products">
<ul class="nav nav-pills cat-nav">
<c:forEach items="${catList}" var="category">
<li role="presentation" >
<a href="/show-category?id=${category.id}" >${category.name}</a>
<ul class="dropdownn">
<c:forEach items="${category.childCategories}" var="childCat">
<li><a href="/show-category?id=${childCat.id}">${childCat.name}</a> </li>
</c:forEach>
</ul>
</li>
</c:forEach>
<li role="presentation" class="pull-right"><a href="/show-category?id=0">All</a> </li>
</ul>
</div>
</div>
&#13;
添加活动类的脚本
$(document).ready(function () {
$('.cat-nav li a').click(function(e) {
$('.cat-nav li').removeClass('active');
var $parent = $(this).parent();
if (!$parent.hasClass('active')) {
$parent.addClass('active');
}
});
});
&#13;
当我点击链接时,它会将我发送到另一个页面,但另一个页面没有活动的类。那么我怎样才能拯救&#34;或者&#34;持有&#34;活动课程并放入新页面。
答案 0 :(得分:1)
在您的点击处理程序中,您要添加并删除“活动”&#39; <li>
元素上的类。在bootstrap中,&#39; active&#39; class被应用于<a>
元素。通过对代码进行小幅调整,可以实现:
$('.cat-nav li a').click(function() {
$('.cat-nav li a').removeClass('active');
$(this).addClass("active");
});
链接到codepen中的示例: http://codepen.io/johnwilson/pen/akVgxq
答案 1 :(得分:0)
最后我已经解决了!
renderer: function (value, meta) {
meta.tdAttr = 'data-gctip="' + value + '"';
return value;
}
&#13;
$(document).ready(function () {
var id = getParameterByName('id');
$('.cat-nav li[role="presentation"]').each(function() {
var id2 = $(this).attr("id");
if(id == id2){
$(this).addClass('active');
}
});
});
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
localStorage.setItem(name, results[2].replace(/\+/g, " "));
var result = localStorage.getItem("id");
return result;
}
&#13;