Jquery选择器为空,我应该使用哪个范围

时间:2012-08-28 20:36:52

标签: javascript jquery unobtrusive-javascript

我尝试通过点击两个不同的链接来显示和隐藏div。 (实际上我的页面有很多这些部分所以我必须给他们一个ID)。

我的html看起来像这样

<div id="meta-503d22ceaf32609515000003" class="answer-form">
    <form action="..." method="...">
        <p>
            <textarea name=".."></textarea>
        </p>
        <p>
            <input type="submit" value=".."> 
            <a href="#" data-action="cancel" data-id="503526f7e8d08ecb0c000003">cancel</a>
        </p>
    </form>
</div>
<span class="content-nav">
    <a href="#" data-action="open" data-id="503d22ceaf32609515000003">open form</a>
</span>

当我点击span链接打开表单时,我有一个content-navigation data-action=open。这很好用。但是当我点击cancle时,它应该隐藏/关闭/滑动这个答案形式div。

这是我的jQuery-Javascript:

$(document).ready(function() {

    $("a[data-action=open]").on('click', function(e) {
        var id = $(this).data('id');
        console.log($("div#meta-" + id));
        $("div#meta-" + id).slideDown('slow');
    });

    $("a[data-action=cancel]").on('click', function(e) {
        var id = $(this).data('id');
        console.log(id);
        console.log(e);
        console.log($("#meta-" + id));
    });

});​

在第二个绑定点击方法中,它检索id但查询

$("#meta-"+id) 
当同一个调用在第一个方法中找到某个东西时,

在secound方法中找不到任何内容。

如何找到表单并关闭它?这是一个范围问题,因为取消调用(绑定)嵌套在表单中吗?

我在这里想念什么?

1 个答案:

答案 0 :(得分:1)

如果我没有弄错,取消按钮的ID与div Id

不同