jquery关于val,attr的一点总结

来源:互联网 发布:php代理跨域 编辑:程序博客网 时间:2024/06/05 02:51

制作了一个输入框和textarea的上移下移功能,不过我并没有将控件移动,只是移动了下里边的值。

首先是JS

之后再测试的时候发现一点问题,在第一次向空间中输入值之后,点击上下移动,这样是没有问题的(这时候我使用的是js的setAttribute将上下相邻的输入框的值进行对调),但是当我把输入框里边的值手动改掉之后,再点击上移或者下移按钮,就出现了问题。经过debug之后确定时在赋值的时候出的问题,可是setAttribute(“vcalue”,test)这样的赋值应该是没有问题的才对,之后抱着尝试其他方法的心里,我使用了.value的方法,也就是("#id").value = test; 这样再继续测试,发现问题解决了。当时的textarea一开始使用的是.innerHtml,也是出现了上述问题,之后我也改用了.value进行赋值,问题解决。


之后是Jquery版本

在测试完js的方式之后,我进行了jquery的尝试,attr的原理和setAttribut其实的差不多的,大家应该都知道,尝试之后果然也是出现了同样的问题,而textarea使用的是text()方法赋值,也是不行的,最后还是使用了val(),bug没有再出现。


虽然问题解决了,但是最后还是没整明白是怎么回事,只是得出一个结论,只要是跟value属性有关的,全都用value或者val()进行取值赋值,跟其他属性相关的使用setAttribute和attr()进行属性值的修改。估计的到时候读读jquery源码才能懂了。

哪位大侠知道什么情况,求讲解。

毕竟新手。

0 0