文字列(kind = "brand")で始まるIDで識別されるdivの束があります。 スパン内のhrefをクリックしてdivの表示を切り替えたいとします。私はこのリンクのテキストを "SHOW"から "HIDE"に変更します。テキストの変更がなければ複数のdivを切り替えてリンクを変更しても
、機能だけでonleラインです:
jQuery("#" + kind + "-" + value).toggle();
が、私はすることにより、コードのほとんど15行ゴマ、他の後に1行を追加することはできませんテキストに。確かにそれははるかに簡単です。
更新されたコード
function show_hide(brand, value){
var show_hide_text = ["SHOW", "HIDE"];
var id_selected = jQuery("#" + brand + "-" + value).attr("id");
jQuery('div[id ^= "' + brand + '"]').each(function() {
if(this.id != id_selected){
jQuery(this).hide();
jQuery("#" + this.id.replace("-", "-show-")).html(show_hide_text[0]);
}else{
var visi = (jQuery("#" + brand + "-show-" + value).html() == show_hide_text[0]) ? 1 : 0;
jQuery("#" + brand + "-show-" + value).html(show_hide_text[visi]);
} // if
});
jQuery("#" + brand + "-" + value).toggle();
} // function
HTMLコードは、この(示さただ一つのdiv)のように行くだろう:あなたが知っているので、それがされている場合
<div ><h3 >SUPER BRAND <a href="javascript: void(0);" onClick="hide_show('brand', 'Super-brand');"><span id=brand-show-Super-brand">SHOW</a></span></h3>
<div class="brand" id="brand-Super-brand">
<div>PRODUCT #1</div>
</div>
</div>
<div ><h3 >MEGA BRAND <a href="javascript: void(0);" onClick="hide_show('brand', 'Mega-brand');"><span id=brand-show-Mega-brand">SHOW</a></span></h3>
<div class="brand" id="brand-Mega-brand">
<div>PRODUCT #3</div>
</div>
</div>
...
あなたはexamaple htmlコードを提供してもらえますか? – jacqbus
HTMLを質問に追加 – Cesar