Javascript点击功能没有在适当的父级反应

时间:2013-03-04 15:54:36

标签: javascript jquery

我有这个javascript,将div设置为父div。

的Javascript

$(document).ready(function() {
    $("a").click(function() {
        var $righty = $(this).next();
        $righty.animate({
            right: parseInt($righty.css('right'),10) == 0 ?
            -$righty.outerWidth() :
            0
        });
    });
});

HTML

    <div id="home" class="page">                
        <div id="page1">                
            <a href="#">Inside Div</a>
        </div>

        <a href="#">Outside Div</a>

        <div id="page2" class="page">
            content 
        </div>                     
   </div>   

我希望<a>标记位于page1 div中。截至目前,只有当<a>代码位于<div id="page1">时,Javascript才有效。如果这是非常基本的,我很抱歉,因为我是Javascript的新手。谢谢!

1 个答案:

答案 0 :(得分:1)

为标签使用选择器,而不仅仅是a。像一个类或一个id。你不希望这发生在每一个标签上,对吗?

另外,右边是NEXT ......好吧,你想要击中的标签旁边没有任何东西。

你想做$(this).parent()。next(); - 不,请参阅下面的编辑。我猜,因为你从来没有告诉过我们你想要的东西。

编辑:这可能根本没有帮助。只知道你不能在div中有一个标签,并调用.next() - 它没有兄弟姐妹。 .next()击中了下一个兄弟。不是因为它在页面上看起来是直观的,而是因为它存在于DOM树中....你需要在div中有一个兄弟,以便用.next()来抓取一个标签.....你不要。那有意义吗?你究竟想要制作动画片什么?

编辑编辑:当点击给定的具有给定类或标识的标记时,告诉我您想要动画的标记的ID或类,我将告诉您如何操作。

编辑编辑编辑:如果你只是想在page1&gt;时使page2动画化单击a,执行以下操作:

$('#page1 a').click(function(){ $('#page2').animate(...put animation stuff here...) });