jquery - 为什么我的 jQuery 按钮在点击时不起作用?

标签 jquery html button

我有一个无法正常工作的 JQuery 脚本。如果我将按钮元素放在 div 之外,那么它就可以工作。请帮我。谢谢。

http://jsfiddle.net/fysalyaqoob/6fornysr/8/

代码片段:

$('button').click(function() {
  $(this).parent().find('.post').hide()
  $('.' + this.id).show(500);
});

$('#showall').click(function() {
  $('.post').show(500);
});
.post {
  width: 100px;
  height: 100px;
  background: #555;
  color: #fff;
  float: left;
  text-align: center;
  margin-right: 10px;
  margin-bottom: 10px;
  padding: 20px;
}

.clearfix {
  clear: both;
}

.wrapper {
  margin: 20px 0;
  background: #f3f3f3;
  padding: 10px;
}


}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="1">
  <div class="2">
    <div class="wedding post">WEDDING DIL</div>
  </div>
</div>
<div class="portrait post">PORTRAIT 1</div>
<div class="personal post">PERSONAL 1</div>
<div class="wedding post">WEDDING 2</div>
<div class="wedding post">WEDDING 3</div>
<div class="portrait post">PORTRAIT 2</div>

<div id="clear" class="clearfix"></div>

<div class="wrapper">
  <div class="btn-group">
    <button id="wedding">Wedding</button>
    <button id="personal">Personal</button>
    <button id="portrait">Portraits</button>
    <button id="landscape">Landscape</button>
    <button id="showall">Show All</button>
  </div>
</div>

最佳答案

POST 元素不是按钮直接父元素的子元素。尝试用 parents 替换 parent

$('button').click(function() {
    $(this).parents().find('.post').hide()
    $('.' + this.id).show(500);
});

$('#showall').click(function() {
    $('.post').show(500);
});

http://jsfiddle.net/6fornysr/13/

代码片段:

$('button').click(function() {
  $(this).parents().find('.post').hide()
  $('.' + this.id).show(500);
});

$('#showall').click(function() {
  $('.post').show(500);
});
.post {
  width: 100px;
  height: 100px;
  background: #555;
  color: #fff;
  float: left;
  text-align: center;
  margin-right: 10px;
  margin-bottom: 10px;
  padding: 20px;
}

.clearfix {
  clear: both;
}

.wrapper {
  margin: 20px 0;
  background: #f3f3f3;
  padding: 10px;
}


}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="1">
  <div class="2">
    <div class="wedding post">WEDDING DIL</div>
  </div>
</div>
<div class="portrait post">PORTRAIT 1</div>
<div class="personal post">PERSONAL 1</div>
<div class="wedding post">WEDDING 2</div>
<div class="wedding post">WEDDING 3</div>
<div class="portrait post">PORTRAIT 2</div>

<div id="clear" class="clearfix"></div>

<div class="wrapper">
  <div class="btn-group">
    <button id="wedding">Wedding</button>
    <button id="personal">Personal</button>
    <button id="portrait">Portraits</button>
    <button id="landscape">Landscape</button>
    <button id="showall">Show All</button>
  </div>
</div>

关于jquery - 为什么我的 jQuery 按钮在点击时不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25233936/

相关文章:

javascript - 如何将值传递给 JS 函数,然后传递给 PHP 脚本

Android,强制关闭应用程序后到底发生了什么?

javascript - 将 HTML 元素位置更改为另一个位置 javascript

javascript - 如何在 Javascript/css 中的嵌套 ul 中选择最低级别 ul

html - 在一个宽度为 100% 的 div 之后放置宽度为 100% 的页脚

html - 更改 &lt;input type=text> 字体大小而不更改其宽度

java - 在 SherlockFragment 中创建一个 onclicklistener

java - 调用 setOnClickListener 时传递参数?

javascript - 鼠标移动时移动背景

html - 3 div 根据屏幕尺寸改变位置