textarea的取值賦值【轉】


取值賦值常用的方法,html(),text(),val()

單獨說說textarea

.它是表單元素,val()可用

.它是閉合標簽,html(),text()可用

這三個都可以取值賦值,會有怎樣的效果?舉例

<textarea class="test">111</textarea>

一、取值

  1. textarea默認值111

  1. 在輸入框內輸入wwww

可見text(),html()沒有獲取到改變后的值,

截一下源碼中關鍵的部分,就知道原因了,從jquery源碼中可以看出,

val()方法通過遍歷元素的value值

text()方法是通過遍歷元素的childNodes,獲取每個子節點的nodeValue,拼接成字符串返回。

html()通過元素的innerHTML返回需要取的值

再看textarea的childNodes和value,innerHTML是什么

默認時:

在輸入框鍵入后

總結:text(),html()方法只能夠獲取到textarea的初始化文本值。 val() 方法不僅可以獲取textarea的初始化文本值,當文本值改變時,也能正常獲取到。

二、賦值

1.默認為111,只有val(‘222’)改變了輸入框值

html(‘444’),text(‘333’)后對應的nodeValue,innerHTML值都修改了,但是value值絲毫未動搖

2.默認1111

.執行html('222');框內值變化,對應innerHTML,nodeValue,value變化

.執行text('333'),框內值變化,對應innerHTML,nodeValue,value變化

.在框內輸入3334,對應value變化,innerHTML,nodeValue不變

.再執行text('444'),框內值不變,對應innerHTML,nodeValue變化,value不變化

這就是為什text(),html()賦值時而好用時而不起作用的原因

總結:value是一頭沉睡的獅子,通過val()賦值,或者鍵入改變輸入框的值,都是在喚醒這頭獅子;一旦value蘇醒,text(),html()都可以歇菜了.

文章轉自:https://blog.csdn.net/wangjiaohome/article/details/81709938


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM