修改特定元素的类高度和宽度

时间:2018-01-09 18:16:53

标签: javascript jquery css

我有一个元素列表,我想为单个元素的类修改CSS属性widthheight

我的HTML包含随机生成的类class1class2class3等等。

<div class="gantt_row class1 white-grid-row"></div>
<div class="gantt_row class2 white-grid-row"></div>
<div class="gantt_row class1 white-grid-row"></div>//I want to change the css class class1 width for this element only. 
<div class="gantt_row class1 white-grid-row"></div>

如果我有

.class1{width: 33px;}

我想将其更改为

.class1{width: 40px;}

例如,我有元素列表

let ganttRows = $('.white-grid-row');

let classesToKeep = ['gantt_row', 'task-parent', 'white-grid-row', 'odd'];
for (let i = 0; i < ganttRows.length; i++) {
  for (let j = 0; j < ganttRows[i].classList.length; j++) {
    if (!classesToKeep.includes(ganttRows[i].classList[j])) {
      let className = ganttRows[i].classList[j];
      $("." + className).css('width', 33); //this changes the elements width, I need to change the width of class1
      //how can I modify class1 for this element only or replace the class with a copy of class1 except for the width
    }
  }
}

如何修改随机生成的类的高度和宽度?

1 个答案:

答案 0 :(得分:0)

如果您更改class1的宽度,则会将更改应用于class1中的所有元素。您需要对相关元素应用不同的类,或者单独更改该元素的高度/宽度。

$(thisElement).css('width', 33);

应用特定的类可能是一个更好的解决方案,因为您可以在您想要的代码中的任何位置切换类,它将改变高度和/或宽度。