使用JQuery FOREACH在cshtml中返回的每一行切换可见性

3

我已经绞尽脑汁地寻找答案。 下面是我的代码,我只想让我的JQuery函数隐藏由foreach循环返回的特定行。目前它会隐藏返回的所有行。 我正在使用在.cshtml文件中的JQuery。 请给予建议。

<body>
    <script type="text/javascript">    

       $(document).ready(function(){
           $("input").click(function(){
               $("p").toggle(1000);
           });
       });

   </script>

   @foreach (var row in db.Query(selectQueryString)){    
       <p>First Name: @row.First_Name Last Name:@row.Last_Name</p> 
       <button>Toggle</button>
   }
</body>
1个回答

1

这应该适合您:

$("button").click(function(){
    $(this).prev("p").toggle(1000);
});

现场演示

编辑:

当您在jquery中使用$("p")作为选择器时,实际上获取的是所有<p>标签; 但是,在您的情况下,您只想要每个按钮之前的那个。因此,您应该使用prev(),它获取单击按钮之前的第一个<p>实例。


太好了,@Josh Mein,它起作用了。感谢您的答案。您能简要解释一下为什么需要 .prev,或者指导我正确的方向吗?再次感谢。 - cholloway
@cholloway 我已更新我的答案,描述为什么这是必要的。欢迎来到Stackoverflow! :) - Josh Mein

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接