程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery attr vs道具?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决jQuery attr vs道具??

开发过程中遇到jQuery attr vs道具?的问题如何解决?下面主要结合日常开发的经验,给出你关于jQuery attr vs道具?的解决方法建议,希望对你解决jQuery attr vs道具?有所启发或帮助;

不幸的是,您的链接均无效:(

不过,有些洞察力attr适用于所有属性。prop用于属性。

在旧版jquery(<1.6)中,我们只有attr。要获取nodename,,等DOM属性SELEctedindexDefaultValue您必须执行以下操作:

var elem = $("#foo")[0];
if ( elem ) {
  index = elem.SELEctedindex;
}

糟透了,所以prop添加了:

index = $("#foo").prop("SELEctedindex");

这很棒,但是令人讨厌的是它不向后兼容,因为:

<input type="checkBox" checked>

没有属性checked但确实有一个名为的属性checked

因此,在1.6的最终版本attr中也这样做,prop以确保事情不会中断。有些人希望这是一个彻底的休息,但是我认为做出正确的决定是因为事情并没有到处蔓延!

关于:

属性:通过JavaScript进行任何修改后的当前状态值

属性:页面加载时HTML中定义的值。

这并不总是正确的,因为实际上实际上已经更改了许多次,但是对于诸如checked之类的属性,没有要更改的属性,因此您需要使用prop。

解决方法

现在,这不仅仅是另一个 问题了。我修改了propattr<formaction="/test/"></form>​ 输出为:

现在,就我所知,我对两件事感到困惑:
道具: 通过JavaScript进行任何修改后的当前状态
值: 网页加载时html中定义的值。

现在,如果这是正确的,

  • 为什么修改prop似乎可以使条件action完全合格,反之为什么不修改属性呢?
  • 为什么修改propin 1)修改属性,那对我没有意义?
  • 为什么修改attrin会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);

body.append('<h1>Attr then Prop Modification test</h1>');
element.attr(property,element.attr(property) + 1);
element.prop(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 />');

大佬总结

以上是大佬教程为你收集整理的jQuery attr vs道具?全部内容,希望文章能够帮你解决jQuery attr vs道具?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:attr