スライド式のオープン エリアの 1 つに div タグを配置する必要があるときに壊れる jQuery アコーディオンがあります。これを回避するにはどうすればよいですか? span-tag から素敵なボックスを作ることができないので、div-tag を入れる必要があります。誰でもこれを回避する方法を知っていますか??
ここで私のデモを見て、どこが壊れているかを確認してください:(
スライド式のオープン エリアの 1 つに div タグを配置する必要があるときに壊れる jQuery アコーディオンがあります。これを回避するにはどうすればよいですか? span-tag から素敵なボックスを作ることができないので、div-tag を入れる必要があります。誰でもこれを回避する方法を知っていますか??
ここで私のデモを見て、どこが壊れているかを確認してください:(
これは少し不自由に思えますが、 a を使用しspan
て に設定するだけdisplay: block
です。次に、それは本質的に次のdiv
とおりです。http://jsfiddle.net/zRqYM/5/
おそらくこれを変更する必要があります:
$(this).next("p").slideToggle("slow")
.siblings("p:visible").slideUp("slow");
に:
$(this).next("div").slideToggle("slow")
.siblings("div:visible").slideUp("slow");
そしてCSS:
.accordion2 > div {
background: #f7f7f7;
/* etc... */
展開可能なコンテンツ内に他の要素を配置する場合は、DIV
代わりにa を使用する方が理にかなっています: http://jsfiddle.net/zRqYM/13/P
P
または、タグ内でインライン要素を使用してスタイルを設定するdisplay:block;
だけですが、意味がわかりません。
CSS をいじらずにアコーディオンを試す別の方法があります。
HTML
次のように完了します。
<div id='accordion'>
<h3>Title of the view</h3>
<div>
all the stuff you want to do here
</div>
<h3>Title of the view</h3>
<div>
all the stuff you want to do here
</div>
</div>
スクリプトファイルを次のようにします
$('#accordion').accordion({ active: 0 });
詳細については、http: //jqueryui.com/demos/accordionをご覧ください。
それをスパンに入れて、スパンを表示ブロック付きの素敵なボックスとしてスタイルできないのはなぜですか?
span タグを使用できます。あなたがする必要があるのは、css のスパンタグ クラスに次のスタイルを追加することだけです。
.whatever {
border: 1px solid #000;
display: inline-block;
margin: 0 5px;
}
私はあなたの jsfiddle を更新しました: http://jsfiddle.net/zRqYM/21/そして、ほとんどのタグのネストを許可するので、p
タグをタグに変更しました。div
原則として、div
タグをタグ内に配置することはできません。p
これは、p
タグ自体が閉じられるためです。