我需要点击一个链接折叠菜单,该链接将有一个名为'active'的类。
只有当我点击与来自url的id和uri匹配的主链接时,才能得到此信息。 但是点击该链接内部的链接,菜单会崩溃。
主要问题是在jquery中我无法获取警报并检查是否已应用类或ID。
<script type="text/javascript">
if($('#subcategoryactive').length){
alert('Active');
}
if( $('.list-subgroup-item active').length )
{
alert('Active');
}
</script>
<h4>Categories</h4>
<div class="list-group categories">
<?php foreach($categories as $category): ?>
<a href="<?php echo site_url() . '/products/catalog_list/' . $category['id'] ; ?>" class="list-group-item"><?php echo $category['name']; ?><span class="glyphicon glyphicon-chevron-right"></span></a>
<div id="collapseOne" class="panel-collapse collapse <?php if($category['id'] == $this->uri->segment(3)){ echo 'in';}else{ echo 'out';} ?>">
<?php foreach($category['sub_categories'] as $subcategory): ?>
<div class="list-subgroups">
<a id="subcategory<?php if($subcategory['id'] == $this->uri->segment(3)){ echo 'active';} ?>" href="<?php echo $subcategory['id']; ?>" class="list-subgroup-item <?php if($subcategory['id'] == $this->uri->segment(3)){ echo 'active';} ?>"><?php echo $subcategory['name']; ?></a>
</div>
<?php //endif; ?>
<?php endforeach; ?>
</div>
<?php endforeach; ?>
</div>
答案 0 :(得分:1)
首先需要使用dom ready事件包装jquery代码并使用on
方法尝试将jquery代码更改为以下内容并让我知道
<script type="text/javascript">
$(function(){ // add this
$('div.list-group').on('click', 'a.active', function(){
//if($('#subcategoryactive').length) {
// alert('Active');
//}
//if( $('.list-subgroup-item active').length ) {
alert('Active');
//}
});
});
</script>