对table表中的行按照行中表示年纪的单元格所表示的年龄的大小进行升序排序,部分代码如下图,
问题:点击年龄单元格中的向上箭头,执行点击事件,直接获取行集合,对集合进行冒泡排序(升序),,但是没有效果;另,试了另外开辟一个数组存储原来的行集合,对数组进行排序,再将该数组直接加入到原来的表格中,这样就可以显示排序的效果,但是直接对行集合进行排序就不行,这是为什么啊,求大神解惑,万分感谢!
您好,首先需要分清innerHTML与innerText的区别,
innerHTML:指的是从对象的起始位置到终止位置的全部内容,包括Html标签。
innerText:指的是从起始位置到终止位置的内容,但它去除Html标签。
具体您可以查看这篇博文http://blog.csdn.net/magi1201/article/details/44131361
用temp转换时需要用innerHTML来指明所赋的值,即
var temp=trs[i].innerHTML;
trs[i].innerHTML=trs[j].innerHTML;
trs[j].innerHTML=temp;
如果我的回答对您有所帮助,请采纳一下,感谢支持!
赋值的时候出错了,分清innerHTML和innerText的区别
var temp = trs[i].innerHTML;
trs[i].innerHTML = trs[j].innerHTML;
trs[j].innerHTML = temp;
因为不加innerHTML他不知道=赋值改变的是什么东西,要讲明白他才懂
只看到你交换了数组,没看到你之后再重新加载到html的逻辑,所以虽然排序了,但是在页面上没有显示,加上就可以了。
你在下面只是赋值了但是没有将值放到对应的节点中显示,应该加上innerHTML才能真正的显示到页面上的