定位一个元素
Targeting an element
单击时,我想定位 dividual parent 的 parent 的兄弟姐妹 child。会有多个容器。因此,当单击删除时,我希望只更改 div 中的 img。
这是我目前拥有的 jquery - 不幸的是我错过了额外的 parent 吗?
$('.removal').click(function() {
$('this').parent().siblings('.item-img').find('.productImage').addClass('cart-removal-item-img')
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div class="container">
<div class="item-img">
<img class="productImg" src... />
</div>
<div class="rndm1">
</div>
<div class="rndm1">
</div>
<div class="item-action">
<div class="rndm1"></div>
<p><a class="removal" href="">remove</a></p>
</div>
</div>
我从字面上回答了我自己的问题添加一个额外的 .parent()
<script>
$('.removal').click(function(){
$(this).parent().parent().siblings('.item-img').find('.productImage').addClass('cart-removal-item-img')
});
</script>
当我修正两个拼写错误('this' 周围的引号和拼写错误的图像 class)时,我可以使用此代码
$('.removal').on("click",function(e) {
e.preventDefault(); // cancel the click
$(this).closest(".container") // the container div
.find('.productImg') // the image class in question
.addClass('cart-removal-item-img');
});
.cart-removal-item-img { display: none }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div class="container">
<div class="item-img">
<img class="productImg" src="http://lorempixel.com/400/200/sports/" />
</div>
<div class="rndm1">
</div>
<div class="rndm1">
</div>
<div class="item-action">
<div class="rndm1"></div>
<p><a class="removal" href="">remove</a></p>
</div>
</div>
单击时,我想定位 dividual parent 的 parent 的兄弟姐妹 child。会有多个容器。因此,当单击删除时,我希望只更改 div 中的 img。
这是我目前拥有的 jquery - 不幸的是我错过了额外的 parent 吗?
$('.removal').click(function() {
$('this').parent().siblings('.item-img').find('.productImage').addClass('cart-removal-item-img')
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div class="container">
<div class="item-img">
<img class="productImg" src... />
</div>
<div class="rndm1">
</div>
<div class="rndm1">
</div>
<div class="item-action">
<div class="rndm1"></div>
<p><a class="removal" href="">remove</a></p>
</div>
</div>
我从字面上回答了我自己的问题添加一个额外的 .parent()
<script>
$('.removal').click(function(){
$(this).parent().parent().siblings('.item-img').find('.productImage').addClass('cart-removal-item-img')
});
</script>
当我修正两个拼写错误('this' 周围的引号和拼写错误的图像 class)时,我可以使用此代码
$('.removal').on("click",function(e) {
e.preventDefault(); // cancel the click
$(this).closest(".container") // the container div
.find('.productImg') // the image class in question
.addClass('cart-removal-item-img');
});
.cart-removal-item-img { display: none }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div class="container">
<div class="item-img">
<img class="productImg" src="http://lorempixel.com/400/200/sports/" />
</div>
<div class="rndm1">
</div>
<div class="rndm1">
</div>
<div class="item-action">
<div class="rndm1"></div>
<p><a class="removal" href="">remove</a></p>
</div>
</div>