Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 隐藏div而不指定id或类_Javascript_Jquery - Fatal编程技术网

Javascript 隐藏div而不指定id或类

Javascript 隐藏div而不指定id或类,javascript,jquery,Javascript,Jquery,我一直在寻找这样一个问题,但我找不到它 我的结构如下所示: <div id="productholder@(item.ProductId)" class="productholder"> <img src="@Html.DisplayFor(modelItem => item.Image)" alt="" /> <div class="productinfo"> <h2>@Html.DisplayFor(modelItem

我一直在寻找这样一个问题,但我找不到它

我的结构如下所示:

<div id="productholder@(item.ProductId)" class="productholder">  
  <img src="@Html.DisplayFor(modelItem => item.Image)" alt="" />
  <div class="productinfo">
    <h2>@Html.DisplayFor(modelItem => item.Name)</h2>
    <p>@Html.DisplayFor(modelItem=> item.Description)</p>
    <br />   
  </div>
  <div class="productprice">     
    <h2>@Html.DisplayFor(modelItem => item.price):-</h2>          
    <input type="button" value="Ta bort" class="b" data-ProductImageId='@item.ProductImageId'>                          
  </div>                                   
</div>
但我发现它不起作用,因为它会隐藏整个div包装


任何形式的解决方案都是值得赞赏的

您很接近,只需隐藏按钮的父项:

    $(".b").click(function () {
        $(this).parent('div').hide();
    });
或者,如果您想确保即使稍微更改层次结构,div也会被隐藏:

    $(".b").click(function () {
        $(this).parents('div.productprice').hide();
    });

基本DOM:每个DOM节点都有一个父元素:

$('.b').click(function() {
   $(this).parent('div.productprice').hide();
});

我想你是想把整个集装箱藏起来。。尝试使用最近的

$(this).closest('.productholder').hide()
或者,如果您只是想隐藏父div,那么只需使用
.parent()

完整代码:

$(document).ready(function () {
    $(".b").click(function () {
        $(this).closest('.productholder').hide();
        // or $(this).parent().hide()
    });
});

$(this).parent().hide()
$(document).ready(function () {
    $(".b").click(function () {
        $(this).closest('.productholder').hide();
        // or $(this).parent().hide()
    });
});
    $(".b").click(function () {
        $(this).parent().hide();
    });
    $(".b").click(function () {
        $(this).parent().parent().hide();
    });