Javascript Jquery将所选类添加到li
您好,我有以下显示类别名称的Javascript Jquery将所选类添加到li,javascript,jquery,html,Javascript,Jquery,Html,您好,我有以下显示类别名称的ul li: <ul> <li class="selected" data-tab-id="0"></li> <li data-tab-id="12">...</li> <li data-tab-id="3">...</li> <li data-tab-id="15">...</li> <li data-tab-id="7">...</li&g
ul li
:
<ul>
<li class="selected" data-tab-id="0"></li>
<li data-tab-id="12">...</li>
<li data-tab-id="3">...</li>
<li data-tab-id="15">...</li>
<li data-tab-id="7">...</li>
</ul>
javascript脚本如下所示:
<script type="text/javascript">
var cat_id = '<?=$this->catid?>'
$(document).ready(function () {
});
</script>
变量cat_id=“”
$(文档).ready(函数(){
});
当前,索引处的页面将首先选择li data tab id=“0”
,并且var cat\u id
将不返回任何内容。现在,当用户导航到另一个选项卡(如data tab id=“12”
)时,var cat_id
将返回值12,我如何从默认li中删除所选类并将其替换为data tab id=“12”
。谢谢使用此示例
$('ul li').click(function() {
$('ul li.selected').removeClass('selected');
$(this).closest('li').addClass('selected');
})
使用addClass()
和removeClass()
分别添加和删除类。
试试这个
已更新
var cat_id = '<?=$this->catid?>';
$('li').removeClass('selected');
$('li').each(function(){
if($(this).attr('data-tab-id')==cat_id){
$(this).addClass('selected');
}
})
var cat_id='';
$('li').removeClass('selected');
$('li')。每个(函数(){
if($(this).attr('data-tab-id')==cat\u id){
$(this.addClass('selected');
}
})
在不使用循环的情况下更新了
var cat_id = '<?=$this->catid?>';
$('li').removeClass('selected');
$('li[data-tab-id='+cat_id+']').addClass('selected');
var cat_id='';
$('li').removeClass('selected');
$('li[data tab id='+cat_id+']')。addClass('selected');
假设
列表
作为UL的ID–为了避免在页面周围有多个UL时出现问题:
$("ul#list")
.find(".selected").removeClass("selected")
.end()
.find("[data-tab-id=" + cat_id + "]").addClass("selected");
当然,您也可以在两个jQuery调用中实现这一点:
$("ul#list .selected").removeClass("selected");
$("ul#list [data-tab-id=" + cat_id + "]").addClass("selected");
我不知道你的意思,但这就是你如何添加类$('li')。addClass('selected');和$('.selected')。removeClass('selected');可能只是旁注的重复,我注意到您在代码中看到了上面的
短标记,从而使用了PHP。请注意这些标记,因为它们并非在每次安装PHP时都可用。它是php.ini
文件中的一个设置,可能不会在所有安装中打开。当涉及到代码的可移植性时,这可能会导致错误。坚持使用@War10ck谢谢infos@zlippr没问题,伙计。祝你好运,编码快乐!:)Poster询问如何在页面加载时从变量中选择它。这不是答案。让我们看看你的答案,然后请epascarello,因为我需要同样的东西:)@ConnorMiles:看看上面epascarello链接的问题。当然……现在让我看看如果有任何问题这个答案不好,没有必要循环!没有什么比重新发明jQuery选择器更好的了。。谢谢你让我知道…:)更新了我的答案。。请检查一下我脑子里的。。今天:P强调了一点,海报上说猫的id可能是空的。需要关于代码的if语句。据我从问题中了解,cat_id
仅在启动时,当选择默认的li
时才为空。此代码不在此上下文中执行,但当用户在另一个选项卡上导航时,因此设置了cat_id
。如果不是这样,那么我需要OP提供更好的上下文(例如,何时执行此代码)。