jquery - 怎么做:“选择所有其他元素,除了这个”
问题描述
我有 6 张卡片用于我们网站的推荐。如果您想阅读整个故事,这些卡片包含一些信息和一个“阅读更多”按钮。该卡确实展开,但我希望它关闭其他卡。
我已经尝试过 .not 元素,但找不到放置它的位置,而且它似乎不起作用
$j=jQuery.noConflict();
jQuery('.readmore').click(function(){
jQuery(this).parent().addClass('uitgeklapt');
jQuery(this).parent().not(this).addClass('weg');
});
.uitgeklapt {
width:100%;
height:530px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="cart left">
<img class="image" src="https://checkbuster.com/wp-content/uploads/2019/08/BA-Group-1.png">
<p class="tekst">Lorem ipsum dolor sit amet, consetetur</p>
<p class="readmore">Read more</p>
<p class="sluiten">Close</p>
</div>
我希望当一个人按下“阅读更多”时,它会向其他 div 添加一个“不显示”的类。
编辑:
我已经添加了
jQuery('.readmore').click(function(){
jQuery(this).parent().addClass('uitgeklapt');
jQuery(".cart").not($(this).parent()).addClass('weg');
});
然而,它并没有给其他卡类“weg”
解决方案
很简单:
var $myOwnCart = $(this).closest(".cart");
$(".cart").not($myOwnCart);
https://api.jquery.com/closest/
这也可以:
$(".cart").not($(this).parent());
但我更喜欢.closest()
,.parent()
因为前者不会因为您<div>
出于某种原因在 HTML 中添加了一个级别而停止工作。
推荐阅读
- iis - 在 AWS 服务器上安装 .NET Framework(要求和可能性)
- javascript - 过滤数组中的对象
- vba - 扫描子文件夹并测试和特定的cel
- php - 如何在复选框数组中使用 2 个 foreach 循环
- validation - 验证消息未显示在 cakephp 3 最新版本中的字段下方
- vue.js - 如何使用 Vue.js devtools chrome 扩展?
- riot.js - 最新 riot 版本 (3.11) 的最新推荐种子/设置是什么?
- azure-storage - 必须为 Azure blob 存储选择哪个访问层才能保留 15 天。
- angular - 将新加载的行设置为在 ag-grid 中默认选择?
- javascript - 使用variabe从javascript设置html复选框和输入标签