亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

jQuery attr vs道具?

jQuery attr vs道具?

慕虎7371278 2019-11-14 15:34:18
現在,這不僅僅是另一個問題了。我做了一些測試(http://jsfiddle.net/ZC3Lf/),修改了prop和attr,<form action="/test/"></form> 輸出為:1)道具修改測試道具:http://fiddle.jshell.net/test/1屬性:http://fiddle.jshell.net/test/12)屬性修改測試屬性:http://fiddle.jshell.net/test/1屬性:/test/13)屬性然后進行道具修改測試屬性:http://fiddle.jshell.net/test/11屬性:http://fiddle.jshell.net/test/114)屬性然后進行屬性修改測試屬性:http://fiddle.jshell.net/test/11屬性:http://fiddle.jshell.net/test/11現在,就我所知,我對兩件事感到困惑:道具:通過JavaScript進行任何修改后的當前狀態值:網頁加載時html中定義的值。現在,如果這是正確的,為什么修改prop似乎使action完全合格,反之為什么不修改屬性?為什么修改propin 1)修改屬性,那對我沒有意義?為什么修改attrin會2)修改屬性,它們是要以這種方式鏈接?測試代碼的HTML的JavaScriptvar element = $('form');var property = 'action';/*You should not need to modify below this line */var body = $('body');var original = element.attr(property);body.append('<h1>Prop Modification test</h1>');element.prop(property, element.prop(property) + 1);body.append('Prop: '+element.prop(property)+'<br />');body.append('Attr: '+element.attr(property)+'<hr />');//resetelement.prop(property, original);element.attr(property, original);body.append('<h1>Attr Modification test</h1>');element.attr(property, element.attr(property) + 1);body.append('Prop: '+element.prop(property)+'<br />');body.append('Attr: '+element.attr(property)+'<hr />');//resetelement.prop(property, original);element.attr(property, original);body.append('<h1>Attr then Prop Modification test</h1>');element.attr(property, element.attr(property) + 1);element.prop(property, element.prop(property) + 1);body.append('Prop: '+element.prop(property)+'<br />');body.append('Attr: '+element.attr(property)+'<hr />');//resetelement.prop(property, original);element.attr(property, original);body.append('<h1>Prop then Attr Modification test</h1>');element.prop(property, element.prop(property) + 1);element.attr(property, element.attr(property) + 1);body.append('Prop: '+element.prop(property)+'<br />');body.append('Attr: '+element.attr(property)+'<hr />');
查看完整描述

3 回答

?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

有一個明確的案例可以看到.prop和.attr之間的差異


考慮以下HTML:


<form name="form" action="#">

    <input type="text" name="action" value="myvalue" />

    <input type="submit" />

</form>

<pre id="return">

</pre>

和下面的JS使用jQuery:


$(document).ready(function(){

    $("#return").append("$('form').prop('action') : " + $('form').prop('action') + '\r\n');

    $("#return").append("$('form').attr('action') : " + $('form').attr('action') + '\r\n');

    $("#return").append("document.form.action : " + document.form.action);

});

創建以下輸出:


$('form').prop('action') : [object HTMLInputElement]

$('form').attr('action') : #

document.form.action : [object HTMLInputElement]


查看完整回答
反對 回復 2019-11-14
  • 3 回答
  • 0 關注
  • 625 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號