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();
});