Maintenant, ce n'est pas juste un autre Quelle est la différence question, j'ai fait quelques tests(http://jsfiddle.net/ZC3Lf/) la modification de l' prop
et attr
de <form action="/test/"></form>
à la sortie:
1) prop Modification d'essai
Prop:http://fiddle.jshell.net/test/1
Attr:http://fiddle.jshell.net/test/1
2) Attr Modification d'essai
Prop:http://fiddle.jshell.net/test/1
Attr:/test/1
3) Attr puis Prop Modification d'essai
Prop:http://fiddle.jshell.net/test/11
Attr:http://fiddle.jshell.net/test/11
4) Prop puis Attr Modification d'essai
Prop:http://fiddle.jshell.net/test/11
Attr:http://fiddle.jshell.net/test/11
Maintenant, je suis confus au sujet d'un couple de choses, aussi loin que mes connaissances se passe:
Prop: La valeur dans son état actuel après toute modification via JavaScript
Attr La valeur telle qu'elle est définie dans le code html de chargement de page.
Maintenant, si cela est correct,
- Pourquoi ne modifiant l'
prop
semblent faire l'action
pleinement qualifié, et à l'inverse pourquoi la modification de l'attribut non? - Pourquoi ne modifiant l'
prop
en1)
modifier l'attribut, que l'on n'a pas de sens pour moi? - Pourquoi ne modifiant l'
attr
en2)
modifier la propriété, sont-ils destinés à être lié de cette manière?
Le Code De Test
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 />');