0

私はjqueryが初めてなので、親タブを選択する方法や現在のアコーディオンに効果を追加する方法について混乱しています。php 条件でスクリプト内に記述したコードは、.ui-widget-header の css に目に見える変更を加えていません。これは、親要素自体を選択していない可能性が高いためです。

私のコードの必要なスニペットを教えてください

<div id="tabs">
<ul>
    <li><a href="#tabs-1">Tab 1</a></li>
    <li><a href="#tabs-2">Tab 2</a></li>
    <li><a href="#tabs-3">Tab 3</a></li>
</ul>
<div id="tabs-1">
    <div id="accordion">

       <div> Some content </div>
       <div> 
           <?php  
           //Perform some query
           if (mysqli_num_rows($query)==0)
           //Make background of current accordion, and parent tab red. Add jquery script here
           echo "<script type='text/javascript'> </script>";//No clue what should be within this script, hence blank...
//Probably something like  $("accordion").parent("#tabs").css( background-color: red;background-image: none;)
//OR $(this).parents('div#tabs').css( background-color: red;background-image: none;)
           ?> 
       </div>
       <div>
          2nd accordion. There should be no effect here. 
       </div>
   </div>
   .....

修正されたスニップは、jsfiddle.net/buKLE/8 で入手できます...現在、タブとアコーディオンのみです。可能であれば、アコーディオン セクション 2 にエラーがあると仮定して、tab1 だけの css を変更してみてください。すべてのアコーディオンがここでバインドされているため、そのアコーディオンだけの色を変更することさえ可能でしょうか...

4

1 に答える 1

1

あなたはかなり近いです、あなたはあなたのコードに2つの小さなエラーがあります。

ハッシュ記号を見逃し、間違ったトラバース方法を使用しました。

               ↓ only traverses one level up
$("accordion").parent("#tabs")

する必要があります:

   ↓ hash       ↓ traverses upwards, until the selector matches or top is reached
$("#accordion").parents("#tabs")
于 2013-02-18T10:22:55.147 に答える