Теперь это не просто другое. Какая разница, у меня сделано несколько тестов (http://jsfiddle.net/ZC3Lf/), изменяющих prop и attr of <form action="/test/"></form> с выходом:
1) prop Тест модификации
Prop:http://fiddle.jshell.net/test/1
Attr:http://fiddle.jshell.net/test/12) Тест модификации Attr
Prop:http://fiddle.jshell.net/test/1
Attr:/test/13) Аттр, затем тест модификации Prop
Prop:http://fiddle.jshell.net/test/11
Attr:http://fiddle.jshell.net/test/114) Проповедь теста модификации Аттра
Prop:http://fiddle.jshell.net/test/11
Attr:http://fiddle.jshell.net/test/11
Теперь я смущен о нескольких вещах, насколько мне известно:
Prop: Значение в текущем состоянии после любых изменений с помощью JavaScript
Attr Значение, которое было определено в html на загрузке страницы.
Теперь, если это правильно,
- Почему изменение
propпохоже на то, чтобы сделатьactionполностью доступным, и, наоборот, почему это не изменяет атрибут? - Почему модификация
propin1)изменяет атрибут, который мне не имеет смысла? - Почему изменение
attrin2)изменяет свойство, должны ли они быть связаны таким образом?
Код проверки
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 />');