0

だから...私の問題は簡単ですが、私には高すぎます. jquery タブ スクリプトがあり、cookie で拡張したいのですが、機能しません。
どうやって進める?ありがとう

src:jquery-1.7.2.js
src:js/jquery.cookie.js

    $(".tab_content").hide();
    $("ul.tabs li:first").addClass("active").show();
    $(".tab_content:first").show();

    $("ul.tabs li").click(function() {
            $("ul.tabs li").removeClass("active");
            $(this).addClass("active");
            $(".tab_content").hide();

            var activeTab = $(this).find("a").attr("href");
            $(activeTab).fadeIn();
            return false;
    });
    $("ul.tabs li:first").css('border-left','none');
    $("ul.tabs li a:first").css('color','#232323');
    $("ul.tabs li a").click(function() {
            $(this).css('color','#232323');
            $("ul.tabs li.active a").css('color','#333');
    });

他のスクリプト:

$("ul.tabs a").click(function(e){
            e.preventDefault();
            $("#" + $.cookie(cookieName)).removeClass("selected");
            $.cookie(cookieName, $(this).attr("href"), cookieOptions);
            $("#" + $.cookie(cookieName)).addClass("selected");
            e.preventDefault();
            $(".tab_container").val( $.cookie(cookieName) );
});

そしてHTML:

<ul class="tabs">
    <li><a href="#A"><img src="" height="41" alt="A" class="fruit" />
    <div class="fruit_name">AAA</div>
    </a></li>
    <li><a href="#B"><img src="" width="79" height="41" alt="B" class="fruit" />
    <div class="fruit_name">BBB</div>
    </a></li>
    <li><a href="#C"><img src="" width="80" height="41" alt="C" class="fruit" />
    <div class="fruit_name">CCC</div>
    </a></li>
</ul>

<div class="tab_container">
    <div id="A" class="tab_content">
         This is AAA content.
    </div>
</div>
<div class="tab_container">
    <div id="B" class="tab_content">
         This is BBB content.
    </div>
</div>
<div class="tab_container">
    <div id="C" class="tab_content">
         This is CCC content.
    </div>
</div>
4

1 に答える 1

1

これが問題かもしれません:

  • div要素のID:「A」
  • アンカー要素の HREF: "#A"

jQuery 用に連結するセレクター

$("#" + $.cookie(cookieName))

次のようになります。

"#" + "#A" = "##A"

解決策は、"A" のような HREF 属性にするか、代わりに ALT 属性を使用することです。ただし、ALT 属性の使用はハックと見なす必要があります。:-)

<a href="A"> ... </a>

また

<a href="#" alt="A"> ... </a>

サイド ノードとして: jQuery セレクターは、HTML 要素の ID を参照するときに "#" を使用します。CSSに非常に似ています。

于 2012-07-03T08:36:14.447 に答える