怎么做:“选择所有其他元素,除了这个”

Posted

技术标签:

【中文标题】怎么做:“选择所有其他元素,除了这个”【英文标题】:How to do: "select all other elements, except this one" 【发布时间】:2019-08-14 12:52:16 【问题描述】:

我有 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”

【问题讨论】:

嗨@Bram Werink,我认为你有多个相同的父母阅读更多 嗨@Bram Werink,详细说明你阅读了更多的div并解释清楚,我们无法找到哪个是父级,哪个是兄弟级, 这样解释***.com/questions/437958/… 【参考方案1】:

很简单:

var $myOwnCart = $(this).closest(".cart");
$(".cart").not($myOwnCart);

https://api.jquery.com/closest/


这也可以:

$(".cart").not($(this).parent());

但我更喜欢.closest() 而不是.parent(),因为前者不会因为您出于某种原因在html 中添加了&lt;div&gt; 级别而停止工作。

【讨论】:

我现在有这个jQuery('.readmore').click(function() jQuery(this).parent().addClass('uitgeklapt'); jQuery(".cart").not($(this).parent()).addClass('weg'); ); "weg" 有一个 "display:none;"但其他卡片仍然出现。 啊问题是美元符号,必须在 wordpress @Tomalak 中将其更改为“jQuery” 啊,好的。按照惯例,jQuery 的别名为 $,但有些设置并非如此。

以上是关于怎么做:“选择所有其他元素,除了这个”的主要内容,如果未能解决你的问题,请参考以下文章

圆形图 (Pie Chart)怎么做

怎么(excel)把三组数据做在一个图里呢?

柱状图怎么做

怎么用flash做水面水的流动效果

用自己的图片怎么做挂历

选择排序是怎么做的