代码之家  ›  专栏  ›  技术社区  ›  Benas Lengvinas

如何比较innerHTML(JavaScript中的字符串比较)

  •  0
  • Benas Lengvinas  · 技术社区  · 7 年前

    我正在按字母顺序过滤一个表,结果遇到了一个问题。我不明白 x.innerHTML > y.innerHTML 本规范中的概念:

     table = document.getElementById('myTable');
     rows = table.getElementsByTagName('tr');
     x = rows[1].getElementsByTagName('td')[0];
     y = rows[2].getElementsByTagName('td')[0];
     //check if the two rows should switch place:
     console.log(x.innerHTML.length, y.innerHTML.length);
     console.log(x.innerHTML > y.innerHTML);
    

    它是如何工作的?

    2 回复  |  直到 7 年前
        1
  •  5
  •   Danil Speransky    7 年前

    innerHTML 返回一个字符串,因此只需比较两个字符串:

    "albert" < "boby" // true
    

    ECMAScript Language Specification

        2
  •  1
  •   Assafi Cohen-Arazi    7 年前

    x.innerHTML y.innerHTML 因此,如果您希望将其值作为一个数字,则需要用 Number()

    Number(x.innerHTML)>Number(y.innerHTML)
    

    否则,您将用不等式比较两个字符串,计算机采用不同的方式,如上面的另一个答案所示。