将特定元素的事件绑定到特定目标

Abh*_*thi 2 html php jquery jquery-selectors

我正在使用while循环输出数据

   <p><?php echo $title;?></p></font></a><button id=show>show()</button>               <button id=hide>hide()</button>
Run Code Online (Sandbox Code Playgroud)

我的秀隐藏功能是

$("#show").click(function () {
   $("p").show('fast');

});

$("#hide").click(function () {
   $("p").hide('fast');
});

 $("#reset").click(function(){
    location.reload();
});
Run Code Online (Sandbox Code Playgroud)

现在,当我点击show hide时,只有第一个show hide循环正在工作,它显示/隐藏所有数据,而不仅仅是我点击的数据

web*_*oob 6

更改要使用的代码this,如下所示:

$(this).prev('p').show('fast');
Run Code Online (Sandbox Code Playgroud)

您需要在每个JQuery .click部分中执行此操作.

编辑:已提到的另一个好处是,您正在为您的元素使用ID,这不允许它在多个上运行.您的新标记应如下所示:

<p><?php echo $title;?></p></font></a><button class="show">show()</button>    
Run Code Online (Sandbox Code Playgroud)

和JQuery:

$(".show").click(function () {
   $(this).prev('p').show('fast');

});
Run Code Online (Sandbox Code Playgroud)

  • 这将显示所有<p>标签.他只想显示点击按钮的"p". (3认同)