javascript - 如果父元素有子元素则添加 onclick 类

标签 javascript jquery parent-child

我正在尝试编写一个脚本,如果父元素有一个 chlid,则添加 onlick 类,这就是我到目前为止所得到的。任何帮助将不胜感激,附:我知道很多代码都很糟糕:父元素是“.pinGrid”,子元素是“#pin”,onclick 是“#like”

注意:我正在尝试将类添加到子元素中。引脚框位于每个循环上。

JS:

$(document).ready(function(){ 
   $("#like").click(function () { 
     $('.pinGrid').has( "#pin" ).toggleClass("pincard-checked"); 
   }); 
});

HTML:

<div class="pinGridWrapper">
 <div class="pinGrid">

<div class="pin" id="pin1">
  <div class="pull-right intrest-box">
    <input type="checkbox" class="faChkRnd" name="c1" id="like">
    <label></label>
  </div>
  <p class="pull-left"> </p>
  <!-- date -->
  <h2> Title </h2>
  <!-- title-->
  <p><b>INFO:</b>
    <br>
  </p>
  <div class="text-center">
    <p class="card-title"><a href="" class="">Click</a></p>
    </div>
   </div>


</div>
</div>

最佳答案

您可以只使用ID选择器来获取子元素,然后使用toggleClass()和选中状态

$(document).ready(function() {
  $(".like").change(function() {
    $(this).closest('.pin').toggleClass("pincard-checked", this.checked);
  });
});
.pincard-checked {
  background-color: lightgrey;
}
.pin {
  border: 1px solid black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="pinGridWrapper">
  <div class="pinGrid">
    <div class="pin">
      <div class="pull-right intrest-box">
        <input type="checkbox" class="faChkRnd like" name="c1">
        <label></label>
      </div>
      <p class="pull-left"></p>
      <!-- date -->
      <h2> Title </h2>
      <!-- title-->
      <p><b>INFO:</b>
        <br>
      </p>
      <div class="text-center">
        <p class="card-title"><a href="" class="">Click</a>
        </p>
      </div>
    </div>
    <div class="pin">
      <div class="pull-right intrest-box">
        <input type="checkbox" class="faChkRnd like" name="c1">
        <label></label>
      </div>
      <p class="pull-left"></p>
      <!-- date -->
      <h2> Title </h2>
      <!-- title-->
      <p><b>INFO:</b>
        <br>
      </p>
      <div class="text-center">
        <p class="card-title"><a href="" class="">Click</a>
        </p>
      </div>
    </div>
    <div class="pin">
      <div class="pull-right intrest-box">
        <input type="checkbox" class="faChkRnd like" name="c1">
        <label></label>
      </div>
      <p class="pull-left"></p>
      <!-- date -->
      <h2> Title </h2>
      <!-- title-->
      <p><b>INFO:</b>
        <br>
      </p>
      <div class="text-center">
        <p class="card-title"><a href="" class="">Click</a>
        </p>
      </div>
    </div>
  </div>
</div>

关于javascript - 如果父元素有子元素则添加 onclick 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35333507/

相关文章:

php - 视频加载后更改页面背景

java - 使用 Struts 2 jQuery 插件发布事件

javascript - 在给定父 ID 和子项的情况下,在 lodash 中嵌套父子关系

java - 在 ECJ 中调用父级中的扩展类变量

javascript - If 语句在 ie7 中不起作用

javascript - JQuery 将每个兄弟传递给一个函数

JavaScript 数字 - 不可变

javascript - 如何从 IE 列表中删除 list it (li) 元素

javascript - 如何在 fabricjs 中将一个图像限制为另一个图像?

javascript - 有没有一种优雅的方法可以在 foreach() 之后链接 join() ?