最佳答案
现在这不仅仅是另一个 有什么区别吗,我有 做了一些测试( http://jsfiddle.net/zc3lf/)修改 <form action="/test/"></form>
的 prop
和 attr
,输出是:
1)支柱改性试验
道具:http://fiddle.jshell.net/test/1
引用:http://fiddle.jshell.net/test/1
2)经修改后的试验
道具:http://fiddle.jshell.net/test/1
引用:/test/1
3)进行支柱改性试验
道具:http://fiddle.jshell.net/test/11
引用:http://fiddle.jshell.net/test/11
4)支持然后经过修改试验
道具:http://fiddle.jshell.net/test/11
引用:http://fiddle.jshell.net/test/11
据我所知,现在我对一些事情感到困惑:
Prop: 通过 JavaScript 修改后当前状态的值
Attr: 页面加载时在 html 中定义的值。
如果这是正确的,
prop
似乎使得 action
完全符合条件,反之,为什么不修改属性呢?1)
中的 prop
会修改属性,这对我来说毫无意义?2)
中的 attr
会修改属性,它们是否应该以这种方式链接?超文本标示语言
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 />');