1. 程式人生 > >jquery關於val,attr的一點總結

jquery關於val,attr的一點總結

製作了一個輸入框和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原始碼才能懂了。

哪位大俠知道什麼情況,求講解。

畢竟新手。