dsuoedtom207012191 2013-02-13 18:05
浏览 204
已采纳

如何在foreach循环中的一个div中添加一个类

So I crated a class such as:

class CoreTheme_Form_Helpers_TabbedForm extends AisisCore_Form_Helpers_Content{

    protected $_html = '';

    public function init(){
        parent::init();

        if(isset($this->_options)){
            $this->_html .= '<ul class="nav nav-tabs">';
            foreach($this->_options as $options){
              $this->_html .= '<li><a href="#'.str_replace(" ", "", $options['tab']).'" data-toggle="tab">
                '.$options['tab'].'</a></li>';
            }
            $this->_html .= '</ul>';

            $this->_html .= '<div class="tab-content">';
            foreach($this->_options as $options){
                $this->_html .= '<div class="tab-pane" id="'.str_replace(" ", "", $options['tab']).'">...</div>';
            }
            $this->_html .= '</div>';           
        }
    }

    public function __toString(){
        return $this->_html;
    }
}

What I am looking to do is add the class active to the div with the class tab-pane, but only once, and only to the first one.

so in:

foreach($this->_options as $options){
    $this->_html .= '<div class="tab-pane" id="'.str_replace(" ", "", $options['tab']).'">...</div>';
}

the html should be something like:

<div class="tab-pane active" id="something">...</div>
<div class="tab-pane" id="something1">...</div>
<div class="tab-pane" id="something2">...</div>

ideas?

  • 写回答

5条回答 默认 最新

  • doukui4836 2013-02-13 18:08
    关注
    $active = " active";
    foreach($this->_options as $options){
    
        $this->_html .= '<div class="tab-pane'. $active .'" id="'.str_replace(" ", "", $options['tab']).'">...</div>';
        $active = "";
    
    }
    

    I think it can works

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?