根据 TD.id 设置值

setting values depending on the TD.id

本文关键字:设置 id TD 根据      更新时间:2023-09-26

我正在尝试根据TD元素的ID为其添加值。 为此,我正在尝试通过 if 语句传递一系列 id,见下文;

var pricing = 0;
var extraLeg = 9.99;
var standardSeat = 4.99;
var upFront = 9.99;
var extraLeg1 = 13.99;
  var tds = document.getElementsByTagName("td");
  for (var T = 0; T<tds.length; T++)
  {
    if(tds[T].id == "_1a","_1f")
    {
       pricing = extraLeg1;
    }
    if(tds[T].id == "_2a","_6f")
    {
       pricing = upFront;
    }
    if(tds[T].id == "_7a","_11f")
    {
       pricing = standardSeat;
    }
    if(tds[T].id == "_12a","_13f")
    {
       pricing = extraLeg;
    }
    if(tds[T].id == "_13a","_23f")
    {
       pricing = standardSeat;
    }     
  }

表格的每一行由 7 个 TD 元素组成;
"_1a","_1b","_1c","通道号","_1d","_1e","_1f"

但是,当我尝试这样做时,单击的第一个元素会设置所有其他元素的价格,尽管有 for 循环。 谁能建议我如何解决这个问题,以便为TD分配特定值?

提前
致谢

您比较不正确。

它应该是这样的:

if(tds[T].id == "_13a" || tds[T].id == "_23f")

在您的代码中,由于逗号,表达式的计算结果tds[T].id == "_13a","_23f"为"_23f",并且由于它变得真实,因此所有 if 条件都会被执行。

您可以在控制台中检查这一点:console.log((2 == 3, "_23f"));

也就是说,您应该考虑使用开关块来更好地呈现代码并使将来的更改更容易。

  var pricing = 0;
  var extraLeg = 9.99;
  var standardSeat = 4.99;
  var upFront = 9.99;
  var extraLeg1 = 13.99;
  var tds = document.getElementsByTagName("td");
  for (var T = 0; T<tds.length; T++)
  {
      switch (tds[T].id) {
          case "_1a":
          case "_1f":
              pricing = extraLeg1;
              break;
          case "_2a":
          case "_6f":
              pricing = upFront;
              break;
          case "_7a":
          case "_11f":
              pricing = standardSeat;
              break;
          case "_12a":
          case "_13f":
              pricing = extraLeg;
              break;
          case "_13a":
          case "_23f":
              pricing = standardSeat;
              break;
      }
  }

编辑:如果您想添加更多像"_1b","_1c"之类的内容,那么您可以在定价相同的任何地方将这些案例组合在一起。例如:

switch (tds[T].id) {
      case "_1a":
      case "_1b":
      case "_1c":
      case "_1d":
      case "_1e":
      case "_1f":
          pricing = extraLeg1;
          break;
      case "_2a":
      case "_6f":
          pricing = upFront;
          break;
      case "_12a":
      case "_13f":
          pricing = extraLeg;
          break;
      case "_7a":
      case "_11f":
      case "_13a":
      case "_23f":
          pricing = standardSeat;
          break;
  }