さて、これはちょうど別されていない違いの質問は何、私がしているいくつかのテスト(http://jsfiddle.net/ZC3Lf/)を行って修正するprop
とattr
の<form action="/test/"></form>
出力がされた状態での:
1)プロップ変更テスト
プロップ:http://fiddle.jshell.net/test/1
属性:http://fiddle.jshell.net/test/1
2)属性変更テストの
プロップ:http://fiddle.jshell.net/test/1
属性:/test/1
3)Attr、次にProp変更テスト
Prop:http://fiddle.jshell.net/test/11
Attr:http://fiddle.jshell.net/test/11
4)小道具、次にAttr変更テスト
小道具:http://fiddle.jshell.net/test/11
属性:http://fiddle.jshell.net/test/11
:今、私は私の知識が行く限り、物事のカップルについて混乱してい
プロップを: JavaScriptを経由して任意の変更後の現在の状態で値
:Attrのそれは、ページの読み込みのHTMLで定義された通りの値です。
これが正しければ、
- なぜ属性を変更すると完全修飾になった
prop
ように見えaction
、逆に属性を変更しないのですか? prop
inを1)
変更すると属性が変更されるのはなぜですか?attr
inを2)
変更するとプロパティが変更されるのはなぜですか、それらはそのようにリンクされているのですか?
テストコード
HTML
JavaScript
var 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 />');
//reset
element.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 />');
//reset
element.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 />');
//reset
element.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 />');