0

作成された最初のaccordionButtondivに「selected」CSSクラスを追加しようとしています。なぜこれが機能しないのですか?

// Create nav from database
                $chapter_array = get_chapter_names();

                for ($i=0; $i < sizeof($chapter_array); $i++) { 
                    if($i == 0) {
                        $selected = 'selected';
                    }
                    echo '<div class="accordionButton '.$selected.'">'.$chapter_array[$i].'</div>';

                    $page_id_array = get_page_ids($i);

                    echo '<div class="accordionContent">';
                    for ($j=0; $j < sizeof($page_id_array); $j++) { 
                        $page_name = get_page_name($page_id_array[$j]);
                        echo '<a href="?page_id='.$page_id_array[$j].'">'.$page_name.'</a><br />';
                    }
                    echo '</div>';
                }
4

1 に答える 1

2

最初のdivの後に戻ることはありません。これにより、常に文字列が含まれる$selectedため、そのクラスがすべてのdivに追加されます。$selected'selected'

ifステートメントの前に空の文字列に設定できます。

$selected = '';
if($i == 0) {
    $selected = 'selected';
}

これがもっと好きなら、それを素敵な三項式として書くこともできます:

$selected = $i == 0 ? 'selected' : '';
于 2012-06-06T23:26:16.497 に答える