作者:曾经 | 来源:互联网 | 2023-01-21 12:21
我正在按字母顺序过滤表并遇到问题.我不明白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);
它是如何工作的?
1> Danil Speran..:
innerHTML
返回一个字符串,所以你只需比较两个字符串:
"albert" <"boby" // true
来自ECMAScript语言规范
字符串的比较在代码单元值序列上使用简单的字典顺序.没有尝试使用Unicode规范中定义的字符或字符串相等和整理顺序的更复杂,语义导向的定义.因此,根据Unicode标准规范相等的字符串值可以测试为不相等.实际上,该算法假设两个字符串已经处于规范化形式.另请注意,对于包含增补字符的字符串,UTF-16代码单元值序列的字典顺序与代码点值序列的字典顺序不同.