我在最近的一个项目中继承了一些代码,该项目使用一些 CSS3 选择器将类添加到一些顶级选项卡导航。由于后端实现的方式,JS 正在搜索 window.location.pathname 以匹配一个字符串,然后在另一个函数中使用它在 DOM 中添加类名。第二个函数使用 nth-child(x),其中 x 是一个循环,对应于路径名和 li 中的适当匹配字符串。但是,如您所知,IE8 不支持 nth-child。
我打算在 IE8 中使用这种模拟 nth-child 的风格,但我不清楚如何编写函数以将其实际添加到现有代码中。
这是我引用的 JS 代码:
var tabName = 'Product', tabType = window.location.pathname;
if(tabType.indexOf('Product')>-1) tabName = 'Product';
else if(tabType.indexOf('Business')>-1) tabName = 'Business';
else if(tabType.indexOf('Support')>-1) tabName = 'Support';
else if(tabType.indexOf('Article')>-1) tabName = 'Article';
$('.category-tabs li').removeClass('active');
for( var tn = 1; tn < $('.category-tabs li').length+1; tn ++ ){
if($('.category-tabs li:nth-child(' + tn + ') a').html().indexOf(tabName)>-1){
$('.category-tabs li:nth-child(' + tn + ')').addClass('active');
}
}
我想添加一个使用此循环的函数,但随后也将其设置为等于“li”,以便我可以使用模拟 nth-child 的 li:first-child + li 方法,但我真的可以使用一些帮助在做这项工作。
谢谢!