我想问为什么$(this)不能在我的on函数中工作?
我的目标是隐藏输入,如果复选框被点击。
$('#checkboxContactName').on('change',() => {
if ($(this).prop('checked')) {
console.log('is checked!');
$(this).parent().next().css('display', 'none');
} else {
$(this).parent().next().css('display', 'block');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div class="form-group">
<label class="control-label" for="#" title="Contact Name">Contact</label>
<label class="checkbox-inline" style="float:right;"><input id="checkboxContactName" type="checkbox" /> Hide
</label>
</div>
变化'(=>'来'函数()' 。尝试这个。 –
您可以在箭头函数中使用'event.target'来引用调度事件的元素 – guest271314
将函数()=>更改为function()并关闭标记,就像我在为您制作的代码段中为您做的那样。如果你在HTML中有一个parent()。next(),它也会很有用 – mplungjan