Javascript 根据TD.id设置值

Javascript 根据TD.id设置值,javascript,jquery,Javascript,Jquery,我试图根据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++) { i

我试图根据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;
    }     
  }
var定价=0;
var extraLeg=9.99;
var standardSeat=4.99;
前期风险值=9.99;
var extraLeg1=13.99;
var tds=document.getElementsByTagName(“td”);

对于(var T=0;T,您的比较不正确

应该是这样的:

if(tds[T].id == "_13a" || tds[T].id == "_23f")
在您的代码中,表达式
tds[T].id=“_13a”,“_23f”
由于逗号而计算为“_23f”,并且由于它变为truthy,所有if条件都会执行

您可以在控制台中检查此项:
console.log((2==3,“\u 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;
      }
  }

为什么使用jQuery标记?还有你的if语句无效。最后,td元素不能有值属性。我应该在问题中指定if语句要检查td.id的范围,如果td.id在该范围内,定价是分配给文本框的值。好的,谢谢,在切换块的情况下,我需要声明吗每一个td都是一个新的案例,或者是为这个案例设定一个范围,例如“1a”、“1b”、“1c”、“1d”、“1e”、“1f”所有这些都是一种情况吗?请查看我的编辑,并通过查看了解更多有关switch的信息。这仍然给了我一个相同的问题,即所有td元素都设置为相同的价格。您是否添加了任何代码来将定价设置到td中?此代码将值存储在
pricing
变量中,但您应该有类似于
tds[T]的内容.innerHTML=pricing;
在切换块之后。太好了,成功了,谢谢!
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;
  }