如果复选框包含与单击元素相同的数据名称,请隐藏该复选框

时间:2017-10-16 20:12:27

标签: jquery

我有一个带有数据名称的图像和一个带有匹配数据名称的复选框。如果我点击图片,我希望隐藏匹配复选框。

$( "body" ).on("click", "#dbpic", function() {
    var picName = $(this).data("name");
    $('input[name="pics[]"]:contains('+picName+')').hide();

我正在尝试用"包含"但我不认为这是正确的做法,或者我不知道如何实现这一目标。

1 个答案:

答案 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>

jQuery Selectors Documentation