2012-08-28 32 views
0

我试图通过点击两个不同的链接来显示和隐藏div。 (其实我的网页有很多这些部分,所以我不得不给他们一个ID)。Jquery选择器是空的,我应该使用哪个范围

我的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> 

我有一个spancontent-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) 

没有找到在谢胜利方法什么,而同一个呼叫在第一种方法中找到一些东西。

我怎样才能找到表格并关闭它?它是一个范围问题,因为取消调用(绑定)嵌套在窗体内?

我在这里错过了什么?

+0

“应该隐藏/关闭/滑动了这个答案的形式”为什么不同?我在您的取消代码中看不到这样的操作。 – j08691

+0

在您的HTML中是否存在一个id =“meta-503526f7e8d08ecb0c000003”的对象?我没看到一个。这就是Cancel代码正在查找的内容,取消代码除了'console.log()'外实际上没有任何作用。 – jfriend00

+2

'503526f7e8d08ecb0c000003!= 503d22ceaf32609515000003' – undefined

回答

1

如果我没有记错的话,你的ID为取消按钮看起来与DIV标识