[英]Using jquery how can i get parent LI where the LI's text matches my button text?
[英]How can i access my parent li element using javascript?
我是 JavaScript 的初學者,我不知道如何獲取選中復選框的 li 的索引並添加/刪除 CSS class 切到那個特定的li。 我嘗試了父方法,但這不起作用,也許我沒有以適當的方式做!
例如,我故意將 CSS cut class 添加到最后一個 li 但我想在選中復選框時將此 class 添加到 li 。
function myfunction() { }
.cut { text-decoration: line-through; opacity: 0.4; } #mylist { list-style: none; }
<div class="container"> <ul id="mylist"> <li class="mycheck"> <input type="checkbox" class="status" onclick="myfunction()"> <label class="mytodo">make tea</label> </li> <li class="mycheck"> <input type="checkbox" class="status" onclick="myfunction()"> <label class="mytodo">notes making</label> </li> <li class="mycheck cut"> <input type="checkbox" class="status" checked onclick="myfunction()"> <label class="mytodo">set clothes</label> </li> </ul> </div>
您可以this
關鍵字傳遞給 function 以便您可以識別單擊復選框的最接近的li元素:
function myfunction(el){ if(el.checked){ el.closest('li').classList.add('cut'); } else{ el.closest('li').classList.remove('cut'); } }
.cut{ text-decoration: line-through; opacity: 0.4; } #mylist{list-style: none;}
<div class="container"> <ul id="mylist"> <li class="mycheck"> <input type="checkbox" class="status" onclick="myfunction(this)" > <label class="mytodo">make tea</label> </li> <li class="mycheck"> <input type="checkbox" class="status" onclick="myfunction(this)"> <label class="mytodo">notes making</label> </li> <li class="mycheck"> <input type="checkbox" class="status" onclick="myfunction(this)"> <label class="mytodo">set clothes</label> </li> </ul> </div>
使用 JavaScript 附加事件:
var checkboxes = document.querySelectorAll('.mycheck.status'); checkboxes.forEach(function(chk){ chk.addEventListener('click', function(){ myfunction(this); }); }) function myfunction(el){ if(el.checked){ el.closest('li').classList.add('cut'); } else{ el.closest('li').classList.remove('cut'); } }
.cut{ text-decoration: line-through; opacity: 0.4; } #mylist{list-style: none;}
<div class="container"> <ul id="mylist"> <li class="mycheck"> <input type="checkbox" class="status" > <label class="mytodo">make tea</label> </li> <li class="mycheck"> <input type="checkbox" class="status"> <label class="mytodo">notes making</label> </li> <li class="mycheck"> <input type="checkbox" class="status"> <label class="mytodo">set clothes</label> </li> </ul> </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.