Dies ist nicht nur eine andere Frage. Was ist der Unterschied? Ich habe einige Tests (http://jsfiddle.net/ZC3Lf/) durchgeführt, bei denen das prop
und attr
von geändert wurde,<form action="/test/"></form>
wobei die Ausgabe wie folgt lautet :
1) Stütze Modifikationstest
Stütze:http://fiddle.jshell.net/test/1
Attr:http://fiddle.jshell.net/test/1
2) Attr Modifikationstest
Prop:http://fiddle.jshell.net/test/1
Attr:/test/1
3) Attr dann Prop Modifikationstest
Prop:http://fiddle.jshell.net/test/11
Attr:http://fiddle.jshell.net/test/11
4) Prop dann Attr Modifikationstest
Prop:http://fiddle.jshell.net/test/11
Attr:http://fiddle.jshell.net/test/11
Jetzt bin ich meines Wissens über ein paar Dinge verwirrt:
Prop: Der Wert in seinem aktuellen Zustand nach Änderungen über JavaScript
Attr: Der Wert, wie er beim Laden der Seite im HTML definiert wurde.
Wenn dies nun richtig ist,
- Warum scheint das Ändern des Attributs
prop
dasaction
vollqualifizierte zu machen , und warum nicht das Ändern des Attributs? - Warum Modifizieren der
prop
in1)
das Attribut ändern, dass man keinen Sinn für mich macht? - Warum Modifizieren der
attr
in2)
der Eigenschaft ändern, sind sie verbunden werden soll auf diese Weise?
Testcode
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 />');