2つの質問があります:
1)htmlの内容は似たような構造で、クラスタイトルの内容が違うだけです。$(div .title:contains( "cat"))も$(div .title).text()= "cat")を使ってみました
2)$(div a)の内容が必要なものであることを確認するだけで、アコーディオンのインデックスを取得するにはどうすればよいですか。$(div a).text()=="猫"を使ってみました
ここでコードを確認してください:
HTML1の内容
<div class="mod moduleselected" id="mod969">
<div class="content module moduleselect">
<div class="hd" ><div class="inner">
<div class="title">cat</div>
<ul class="terminallist"></ul>
<ul class="buttons">
<li class="help"></li>
<li class="show" ></li>
</ul>
</div>
</div>
</div>
<div class="mod moduleselected" id="mod969">
<div class="content module moduleselect">
<div class="hd" ><div class="inner">
<div class="title">rat</div>
<ul class="terminallist"></ul>
<ul class="buttons">
<li class="help"></li>
<li class="show" ></li>
</ul>
</div>
</div>
</div>
<div class="mod moduleselected" id="mod969">
<div class="content module moduleselect">
<div class="hd" ><div class="inner">
<div class="title">dog</div>
<ul class="terminallist"></ul>
<ul class="buttons">
<li class="help"></li>
<li class="show" ></li>
</ul>
</div>
</div>
</div>
アコーディオン
<div id="dia">
<div id="dialog" title="Detailed FeedBack ">
<div id="accordion">
<h3><a href="#">dog</a></h3>
<h3><a href="#">cat</a></h3>
<h3><a href="#">rat</a></h3>
</div>
</div>
</div>
Javascript
$('div .title').mouseover(function() {
if($("div a").text().indexOf("cat")!=-1)
{
$("#accordion").accordion("activate", 1);
}
$('div .title').mouseleave(function(){$("#accordion").accordion("activate", -1); });
});
これが私がこのjavascriptコードでやろうとしていることです。猫の中身にマウスを合わせると、猫の中身のアコーディオンが開きます。そして、アコーディオンの選択を閉じるためにそれを離れるとき。
マウスをhtmlコンテンツのcat、ratに合わせると。それらのコンテンツのアコーディオンボタンを並べて開く必要があります。例:(htmlコンテンツの)ラットにカーソルを合わせると、アコーディオンラットが開いている(またはアクティブである、つまりコンテンツが表示されている)ことがわかります。