2

我在下面找到了(修改后的)代码,但没有发生警报。请帮忙。我也不明白为什么 onclick 在“a[name=tab]”上,为什么不在“tab1”或 a[tab1] 上?

  <script>
     jQuery(document).ready(function($){
        $("a[name=tab]").click(function(e){
           if($(this).attr('id')=="tab1")
           {
              alert("1");
           }
           if($(this).attr('id')=="tab2")
           {
              alert("2");
           }
     });

    <div id="tabs">
        <ul>
            <li><a name="tab" id="tab1" href="#tabs-1">One</a></li>
           <li><a name="tab" id="tab2" href="#tabs-2">Two</a></li>
        </ul>
        <div id="tabs-1">
            <p>First tab.</p>
        </div>
        <div id="tabs-2">
            <p>Second tab.</p>
        </div>
    </div>

我发现有一个在选项卡更改时运行的函数,但我不知道如何使用它,也找不到在我的代码中放置它的位置。我也想要这方面的帮助。谢谢你。

         $("#tabs").tabs({
                alert(ui.index);
             select: function(event, ui) {
                alert(ui.index);
                return true;
             }
         });
4

2 回答 2

4

使用激活事件beforeActivate 事件

$(document).ready(function () {
    $("#tabs").tabs({
        activate: function (event, ui) {
            alert(ui.index);
        }
    });
});
于 2013-10-06T03:36:25.267 回答
0

、为什么用a[name=tab]而不用[tab1]

a[name=tab]表示属性等于的a标签。 如果您使用它,则表示具有属性的标签。nametab
a[tab1]atab1

您应该检查有关它的 jquery 文档。
http://api.jquery.com/category/selectors/attribute-selectors/

其次,您的代码无法正常工作,因为它有错误,但您可以像这样修复它:

 $("#tabs").tabs({
     select: function(event, ui) {
        alert(ui.index);
        return true;
     }
 });

顺便说一下,你应该检查一下jQuery UI tabs
http://api.jqueryui.com/tabs/

于 2013-10-06T03:37:15.273 回答