Php Codeigniter——添加“点火器”;主动的;css类的链接,如何?

Php Codeigniter——添加“点火器”;主动的;css类的链接,如何?,php,css,codeigniter,Php,Css,Codeigniter,将“active”类添加到链接中以便对其进行样式化的最快和最简单的方法是什么?我正在CI中开发一个应用程序,我想用一种快速简单的方法自动完成 jQuery也是一个选项…取决于如何输出链接HTML 如果您正在使用该模块,则可以调用anchor()函数来创建链接,并将属性数组作为第三个参数传递给它,即: $this->load->helper('url'); echo anchor('url/path', 'Click here', array('class' => 'active

将“active”类添加到链接中以便对其进行样式化的最快和最简单的方法是什么?我正在CI中开发一个应用程序,我想用一种快速简单的方法自动完成


jQuery也是一个选项…

取决于如何输出链接HTML

如果您正在使用该模块,则可以调用
anchor()
函数来创建链接,并将属性数组作为第三个参数传递给它,即:

$this->load->helper('url');
echo anchor('url/path', 'Click here', array('class' => 'active'));

如果您只是在模板/视图中手动输出HTML,显然您可以自己在HTML中创建class属性。

如果您有很多导航项,您可以这样做(非常简化)

    >
您必须根据自己的需要对其进行编辑

如果你没有那么多导航项目,一个更简单的方法是给每个页面一个主体id,然后使用css激活它

<style type="text/css">
body#contact #contact-nav { font-weight:bold; }
</style>

<body id="contact">

<ul id="navigation">
    <li id="contact-nav"><a href="">contact</a></li>
</ul>

正文#联系人#联系人导航{字体重量:粗体;}

您真的应该使用CodeIgniter URI类来完成这项工作,而不是使用$\u服务器['REQUEST\u URI']

$this->uri->uri\u string()


^^由于codeigniter的路由功能可能会出现一些复杂情况,因此这是首选方法

您可以通过以下方式创建帮助器

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
if ( ! function_exists('active_link'))
{
    function active_link($controller)
    {
        $CI =& get_instance();

        $class = $CI->router->fetch_class();
        return ($class == $controller) ? 'active' : '';
    }
}
要将活动类(class=“active”)添加到链接,我已经这样做了:
在视图中

<ul class="nav nav-tabs"> 
        <li id="button_home" class='<?php echo $home;?>'><?php echo anchor('pages/index','Home');?></li>
        <li id="button_about" class='<?php echo $about;?>'><?php echo anchor('pages/about','About')?></li> 
</ul>

也许这不是你的解决方案。但这对我来说很管用。

太棒了。第一个选项起作用了(稍微调整一下)!是的,我最终使用了这个方法。如果($this->uri->uri_string()=='home')//删除前斜杠,我必须使用下面的方法才能工作://这个问题已经问了4年了,你的答案不会给线程带来好处……这是我迄今为止遇到的最简单的代码块。。谢谢:)@FahidMohammad是的,这就是为什么我在这里回答这个问题,尽管这个问题很老了。
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
if ( ! function_exists('active_link'))
{
    function active_link($controller)
    {
        $CI =& get_instance();

        $class = $CI->router->fetch_class();
        return ($class == $controller) ? 'active' : '';
    }
}
<li class="<?php echo active_link('services'); ?>"><a href="<?php echo base_url();?>services">Services</a></li>
<ul class="nav nav-tabs"> 
        <li id="button_home" class='<?php echo $home;?>'><?php echo anchor('pages/index','Home');?></li>
        <li id="button_about" class='<?php echo $about;?>'><?php echo anchor('pages/about','About')?></li> 
</ul>
$data['home']="active";