第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

jQuery .val()vs .attr(“value”)

jQuery .val()vs .attr(“value”)

函數(shù)式編程 2019-08-02 16:48:15
jQuery .val()vs .attr(“value”)我原以為這兩個是相同的,但它們似乎不是。我一直習(xí)慣使用$obj.attr("value")表單字段,但在我正在構(gòu)建的頁面上,$obj.attr("value")不會返回我在字段中輸入的文本。但是,$obj.val()確實如此。在不同的頁面我已經(jīng)建立,雙方$obj.attr("value")并$obj.val()返回在表單字段中輸入的文本。什么可以解釋$obj.attr("value")在一個案例中按預(yù)期工作但在另一個案例中沒有?使用jQuery設(shè)置和檢索表單字段值的正確方法是什么?
查看完整描述

3 回答

?
婷婷同學(xué)_

TA貢獻(xiàn)1844條經(jīng)驗 獲得超8個贊

對象屬性和對象屬性之間存在很大差異

有關(guān)一些差異,請參閱此問題(及其答案):。prop()vs .attr()

要點(diǎn)是.attr(...)只在開始時獲取對象值(創(chuàng)建html時)。val()獲取對象的屬性值可以多次更改。


查看完整回答
反對 回復(fù) 2019-08-02
?
RISEBY

TA貢獻(xiàn)1856條經(jīng)驗 獲得超5個贊

從jQuery 1.6開始,attr()將返回一個屬性的原始值(標(biāo)記本身中的那個)。你需要使用prop()來獲取當(dāng)前值:

var currentValue = $obj.prop("value");

但是,使用val()并不總是相同的。例如,<select>元素的值實際上是其所選選項的值。val()考慮到這一點(diǎn),但prop()沒有。因此,val()優(yōu)選。


查看完整回答
反對 回復(fù) 2019-08-02
?
森林海

TA貢獻(xiàn)2011條經(jīng)驗 獲得超2個贊

僅供將來參考,我提供了一個很好的例子,可以幫助我們解決疑問:

請嘗試以下方法。在這個例子中,我將創(chuàng)建一個文件選擇器,可用于選擇文件,然后我將嘗試檢索我選擇的文件的名稱: HTML代碼如下

<html>
    <body>
        <form action="#" method="post">
            <input id ="myfile" type="file"/>
        </form>
        <script type="text/javascript" src="jquery.js"> </script>
        <script type="text/javascript" src="code.js"> </script>
    </body></html>

code.js文件包含以下jQuery代碼。嘗試逐個使用兩個jQuery代碼片段并查看輸出。

帶attr的jQuery代碼('value'):

$('#myfile').change(function(){
    alert($(this).attr('value'));
    $('#mybutton').removeAttr('disabled');});

帶val()的jQuery代碼:

$('#myfile').change(function(){
    alert($(this).val());
    $('#mybutton').removeAttr('disabled');});

輸出:

帶有attr('value')的jQuery代碼的輸出將是'undefined'。帶有val()的jQuery代碼輸出將是您選擇的文件名。

說明:現(xiàn)在您可以輕松理解最佳答案想要表達(dá)的內(nèi)容。帶有attr('value')的jQuery代碼的輸出將是'undefined',因為最初沒有選擇文件,所以值是未定義的。最好使用val(),因為它獲取當(dāng)前值。

為了了解返回未定義值的原因,請在HTML中嘗試此代碼,您將看到attr。('value')始終返回'test',因為該值為'test',之前未定義。

<input id ="myfile" type="file" value='test'/>

我希望它對你有用。


查看完整回答
反對 回復(fù) 2019-08-02
  • 3 回答
  • 0 關(guān)注
  • 438 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號