javascript - 复选框不能独立工作

标签 javascript jquery

我的 js 函数几乎可以工作,但复选框不能完全独立地工作:

更新:我通过添加 parent='NULL' 解决了这个问题;在函数的末尾。有人能解释一下这是怎么回事吗???

function detectDiv(obj) {
  var parent = obj.parentElement;
  console.log(parent.id);
  
  
   $('input:checkbox').change(function(){
    if($(this).is(":checked")) {
        $("#"+parent.id).removeClass("grey100");
    } else {        $("#"+parent.id).addClass("grey100");
    }

    parent='NULL';
});

  
   
  
  
}
.grey100 {
    
            opacity: 0.5;
}

img{
width:100px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div >
<table>
   <tr>
      <td id='img1' class='grey100'>
<img src="https://res.cloudinary.com/rss81/image/upload/gw.jpg"><br>
<input type="checkbox" onclick="detectDiv(this)" >
      </td>
      <td id='img2' class='grey100'>
<img src="https://res.cloudinary.com/rss81/image/upload/gw.jpg"><br>
<input type="checkbox"  onclick="detectDiv(this)" >
      </td>
      </tr>
 </table>
</div>

最佳答案

我看不到使用带有嵌套 jQuery 函数的单独函数来处理它的意义。您可以使用以下方法获得预期结果:

$('input:checkbox').change(function() {
  $(this).parent().find('img').toggleClass("grey100");
});
.grey100 {
  opacity: 0.5;
}

img {
  width: 100px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div>
  <table>
    <tr>
      <td id='img1'>
        <img src="https://res.cloudinary.com/rss81/image/upload/gw.jpg"><br>
        <input type="checkbox">
      </td>
      <td id='img2'>
        <img src="https://res.cloudinary.com/rss81/image/upload/gw.jpg"><br>
        <input type="checkbox">
      </td>
    </tr>
  </table>
</div>

关于javascript - 复选框不能独立工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44875797/

相关文章:

javascript - 在没有 EventEmitter 的情况下检测到可能的 EventEmitter 内存泄漏

javascript - React - 渲染 CSS 动画 onClick

javascript - YoutubeData API V3 - 错误 400 : required parameter - part

javascript - 未捕获的语法错误 : Unexpected token < occurring when deploying

javascript - Bootstrap 内容的 Angular 路由

javascript - 为表格单元格添加悬停显示

javascript - Instagram 浏览器(适用于 iOS)不显示我网站上的所有元素

javascript - 我如何避免使用 JQuery 更改所有 id?

javascript - 当我在数字类型 v-text-field 上输入 cjk(韩语) 时,Event.preventDefault 不起作用

jquery - jquery 轮询不会发生 HttpSession 超时