【问题标题】:Change DIV width that is before another DIV更改另一个 DIV 之前的 DIV 宽度
【发布时间】:2015-10-30 07:31:17
【问题描述】:

我有这个带有动​​态 DIV 的结构,并且都有相同的类,因为它们都是自动创建的。

这里的问题是,它们中的最后一个在其他 DIV 与其他类之前,我希望将他的样式设置为 width:100% 而不是 CSS 设置的所有其他样式的 width:50%。

这是一个示例:

<div class="awp_box awp_box_inner"></div>
<div class="awp_box awp_box_inner"></div>
<div class="awp_box awp_box_inner"></div>
<div class="awp_stock_container awp_sct" style="max-width: 400px !important;"></div>

所以我只想更改第三个 DIV,有时是第一个也是唯一一个,有时是第二个,有时是第四个,等等...

我通常擅长 CSS,但这次我很难找到解决方案。

有人可以帮我在正确的轨道上指导我吗?

【问题讨论】:

  • 所以你想要的是让最后一次出现的 .awp_box awp_box_inner 的宽度:100% 正确?
  • 将一个类添加到您希望设置样式为 width:100% 的框中,静态 CSS 无法满足您的需求。
  • @Math3w 因为代码是动态的,我不能只重命名前三个中的最后一个 DIV,因为它们是动态创建的。还是谢谢你。
  • 您要设置样式的盒子有什么独特的属性吗?使用 jquery 找到唯一的 attr 和 addClass。
  • @Pedro,请查看我的回答

标签: javascript jquery html css


【解决方案1】:

如果我在上面的问题中是正确的,那么添加这个 CSS

div.awp_box.awp_box_inner:nth-last-child(1) {
     width: 100%;
}

来源:TutsPlus

【讨论】:

  • 首先让我感谢您的回答。是的,这就是我想要的,但不幸的是它没有奏效。 :(
【解决方案2】:

基于 cmets,以下脚本可以满足您的需求。

$(document).ready(function(){    
    $('.awp_sct').prev().addClass('full');
});

它会为 .awp_sct 的前一个元素添加一个类。

DEMO

【讨论】:

  • 这就是我喜欢stackoverflow的原因! :D 非常感谢您花时间帮助我。我实际上也通过这个解决方案到达了那里: $('.awp_box.awp_box_inner').last().css('width', '100%');无论如何,我选择实施你的。 :)
猜你喜欢
  • 2011-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多