jQuery选项卡和cookie无法正常工作

时间:2012-07-03 08:14:14

标签: jquery html

所以...我的问题很容易,但对我来说太高了。我有一个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>

1 个答案:

答案 0 :(得分: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非常相似。