在特定td上使用Javascript设置colspan(不带任何id)

zc0qhyus  于 2023-05-21  发布在  Java
关注(0)|答案(1)|浏览(120)

我需要在现有的网页上应用一些CSS/JS。里面有

<tr foodtablesupper>
  <td class="subheader" colspan="3">
    Upper Floor
  </td>
</tr>
<tr foodchoice>
  <td class="dish-1">
    Coleslaw
  </td>
  <td class="dish-2">
    Porridge
  </td>
</tr>
<tr foodtablesupper>
  <td class="subheader" colspan="3">
    Mezzanine Floor
  </td>
</tr>

我需要把colspan改成4。如何使用vanilla-JS来处理td以及如何更改colspan属性?

wswtfjt7

wswtfjt71#

实际上是由您根据页面上下文决定使用什么选择器来寻址colspanned TD。它应该是独一无二的。我已经选择了它在你的TR与foodtablesupper属性。
您的示例中没有足够的环绕标记。

更新

根据作者的要求,编辑代码以解决可能的几个TD。

document.querySelector('button').addEventListener('click', () => {

  document.querySelectorAll('tr[foodtablesupper] > td.subheader').forEach(td => td.setAttribute('colspan', 4));

});
td{
  min-width:50px;
  background:#aaa;
  text-align:center;
}
table{
  border-spacing: 3px;
}
td.subheader{
  background: yellow;
}
<table>
<tr foodtablesupper>
  <td class="subheader" colspan="3">
    Upper Floor
  </td>
</tr>
<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
</table>
<hr/>
<button>Make 4 colspan</button>

相关问题