考虑以下事项:
jQuery('document').ready(function($) {
$('#num-locations input[type="checkbox"]').on('click', function(e) {
if (e.target.checked) {
dataId = e.target.dataset.location;
console.log(dataId);
$('.jobs-listing [data-city]').not('[data-city*="'+dataId+'"]').hide();
} else {
$('.jobs-listing [data-city]').show();
}
});
});
下面是HTML的一个例子,可能有很多这样的例子:
<div class="manage-wrapper d-flex py-5 eachJob" data-city="Ottawa" data-province="Ontario">
<div class="manage-text w-7">
<h4 class="font-weight-bold mt-0 mb-1 job-title"></h4>
<p class="job-description"></p>
</div>
<div class="manage-aside text-right w-3">
<h4 class="font-weight-bold mt-0 mb-1 job-location">Ottawa</h4>
<p class="mb-0 job-province">Ontario</p>
<a href="#" class="btn btn-primary job-url" tabindex="-1">VIEW JOB</a>
</div>
</div>
-
预期
:在这种情况下,只对父级DIV应用DISPLAY NONE。
'.manage-wrapper'
-
实际
:页面上的所有内容都隐藏,因为“display:none”应用于
.manage-wrapper
但不适用于
管理包装器
这是自我。
-
单击所述复选框时没有控制台错误。
正确的应用方法是什么
:
display: none
到任何带类的DIV
manage-wrapper
单击时
data-location
不匹配
data-city
?
[和]
当您取消选中所说的复选框时,恢复“隐藏”元素的正确方法是什么?