javascript addClass没有'似乎没有触发类的css
javascript addClass doesn't seem to trigger my css for the class
我正在使用twitter引导程序导航药丸,并更改了背景颜色。当页面第一次加载时,它会放置正确的背景色。但是,在我的javascript文件更改了li的"活动"后,它似乎没有响应css。
HTML
<ul class="nav nav-pills">
<li id="About" role="presentation" class="active"><a href="#">About</a></li>
<li id="Animals" role="presentation"><a href="#">Animals</a></li>
<li id="Adoptly" role="presentation"><a href="#">Adoptly</a></li>
<li id="Blog" role="presentation"><a href="#">Blog</a></li>
<li id="Events" role="presentation"><a href="#">Events</a></li>
</ul>
CSS
.nav-pills>li.active>a, .nav-pills>li.active>a:focus, .nav-pills>li.active>a:hover {
color:white !important;
background-color:#FF4571 !important;
}
Javascript
function checkWidth() {
var windowsize = $(window).width();
var current = document.getElementsByClassName('active');
var displayText = current[0].textContent;
if (windowsize > 425) {
//if the window is greater than 440px wide then turn on jScrollPane..
$( "#navigation" ).empty();
$( "#navigation" ).html(pillsHTML);
checkActive(displayText,true);
}
else
{
$( "#navigation" ).empty();
$( "#navigation" ).html(listHTML);
checkActive(displayText,false);
}
}
function checkActive(currentTab, bool){
console.log(bool);
if(bool)
{
$('li').removeClass('active');
var element = document.getElementById(currentTab);
$(element).addClass('active');
}
else
{
$('.list-group-item').removeClass('active');
var element = document.getElementById(currentTab);
$(element).addClass('active');
}
}
checkWidth();
// Bind event listener
$( window ).resize(checkWidth);
$('#navigation').on('click','li',function(e){
var previous = $(this).closest(".nav").children(".active");
previous.removeClass('active'); // previous list-item
$(e.target).addClass('active'); // activated list-item
});
这里有两件事:HTML中的ul
标记没有id="navigation"
,而e.target
的结果是<a />
标记,而不是为其设置样式的父<li />
。
因此,添加id="navigation"
并将addClass行切换为:
$(e.target).closest('li').addClass('active');
你应该很乐意去。
编辑:这里还有一个Codepen,只是为了说明:http://codepen.io/anon/pen/VaOmbz
相关文章:
- 有没有一种方法可以防止img get请求使用css或js发生
- 有没有一种方法可以仅使用HTML/CSS来隐藏基于特定值的数据单元格
- 使用JS&HTML作品,JS&CSS没有'不总是
- jquery css没有'我的情况不太好
- CSS没有'使用javascript向页面动态添加元素时无法工作
- 为什么不'当我用JavaScript更改类时,CSS没有动画
- jQuery.CSS没有更新背景
- CSS 没有格式化 ActionLinks
- 为什么我的 CSS 没有打印
- Pnotify-javascript正在工作,css没有
- 在Chrome中,jQuery.css没有正确更改字体大小
- CSS没有在我的Angular项目中应用
- CSS没有在macossafari和chrome上正确加载
- Css:没有<表格>的画廊视图
- 当项目被点击改变背景颜色- CSS(没有jQuery)
- 日期选择器CSS没有正确加载
- Angular2组件样式/css没有被浏览器应用在ngafterviewit中
- Css没有使用JS动态应用
- 移动CSS没有按预期显示
- JQuery与浏览器中的CSS没有链接