我有一个带有数据名称的图像和一个带有匹配数据名称的复选框。如果我点击图片,我希望隐藏匹配复选框。
$( "body" ).on("click", "#dbpic", function() {
var picName = $(this).data("name");
$('input[name="pics[]"]:contains('+picName+')').hide();
我正在尝试用"包含"但我不认为这是正确的做法,或者我不知道如何实现这一目标。
答案 0 :(得分:1)
要选择属性的名称,您必须使用此语法input[attribute_name="name_value"]
。在你的情况下使用这个:
$('input[data-name="'+picName+'"]')
这是一个简单的演示:
$( "img" ).on("click", function() {
var picName = $(this).data("name");
$('input[data-name="'+picName+'"]').hide();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img data-name="name" id="dbpic" src="https://maxcdn.icons8.com/Share/icon/color/Gaming//pokecoin1600.png" style="height:48px;width:48px">
<label><input type="checkbox" data-name="name"> To Hide</label>
<label><input type="checkbox" data-name="name2">Not to Hide</label>