Pet*_*uss 28 jquery deprecated prop attr
我可以,一个jQuery1.9 +软件开发人员,attr()在我的日常工作中"弃用"该方法的使用吗?
如许多问题所示,
关于"使用attr或使用prop?"有很多困惑.,并且,根据我的(开发人员)观点,对于attr()方法的所有用途,我们可以使用prop:
prop(name,newvalue)方法更改所有值.removeProp(name)方法都可以删除.attr(name)方法也会受到影响.关于prop的"强类型":它比"html string value"(例如"checked"vs true)更好.attr浏览器中的方法 返回undefined,如果不是)...嗯,我们需要在某个软件中使用它吗? 在表单中,".val()方法是建议的jQuery方式来获取或设置表单的值"所以,在这个时候(2013年),我没有看到attr在开发新的jQuery代码时使用方法的一个很好的理由 ......但是,换句话说,这就是问题:我有充分的理由attr在我的方法中使用 方法日常任务?
cHa*_*Hao 30
.attr()不被弃用,因为它对它的作用很有用,并且是唯一正确的方法来做它所做的事情(没有使用每个元素的getAttribute函数,它做同样的事情......或者自己解析HTML).我们甚至讨论这个问题的唯一原因是因为jQuery(以及一些旧的浏览器(咳嗽 IE 咳嗽))错误地混淆了属性和属性,而这种混乱是他们在1.9中明显修复的内容.
.attr()检索属性,同时.prop()检索属性.这两者是不同的东西,并且总是正式的(虽然DOM通常具有对应于属性的属性).如果您有a <p whatever="value">,whatever浏览器识别的属性不在哪里,您将使用.attr()获取属性的值. .prop()甚至在大多数浏览器中都看不到它.
当您关心生成的DOM 属性时,请使用.prop().如果您关心实际的HTML 属性,请使用.attr().这不是一个或两件事; 你可以在同一个代码中使用它们,宇宙也不会内爆一次(假设你已经正确使用它们了).:)只要使用此找到适合你的时候做这项工作的人,并退出试图"贬低"的东西,不破.
cer*_*nos 12
我冒昧地为你准备一个小提琴:
特别是这部分:
<div id="example" style="padding:10px"></div>
console.log("style");
var styleAttr = $("#example").attr("style");
console.log(styleAttr); // You get "padding:10px"
var styleProp = $("#example").prop("style");
console.log(styleProp); // You get a CSSStyleDeclaration object
Run Code Online (Sandbox Code Playgroud)
"样式"示例清楚地显示属性与属性不同(检查控制台).
为了可读性,可维护性和向后(以及向前)兼容性,您应该始终对给定任务使用正确的方法,否则方法可能会像您一样停止行为,.attr()方法是一个例子.
.attr()方法用于获取元素的属性,属性是一个SGML术语,指的是元素标签内包含的信息,您可以通过检查元素轻松读取该信息.
.prop()方法用于获取元素的DOM属性.
我的作业...阅读了 @cHao 和 @cernunnos 很好的解释,并使用了几个月后...我想我们需要另一个概念来决定,作为程序员,何时使用 prop 和 attr:
HTML源代码及其表示:浏览器在浏览器的内存空间中加载HTML页面。好吧,留在浏览器内存中的是 DOM 表示,但是 DOM 保留了一些原始的东西,如属性和cssText 属性,它们是“有时持久的表示”。
PS:“标准 DOM”中未定义的属性没有到DOM 属性的映射。当一个(非只读)属性改变时,如果有对应的(映射的)属性,它可以自动改变。
DOM 状态:动态页面需要直接在 DOM 上进行更改,这就是最终用户看到的。因此,如果页面上有一些“单击并更改”操作,那么每次 DOM 都会转到一个新的页面表示,因此,每次 DOM 都有一个新的状态。
当一个 DOM属性更改时,所有其他 DOM属性(如果需要)都会一致更改。
考虑到这些概念,我们可以得出一个“经验法则(用于attr与prop使用)”:
prop,你有 90% 的机会它可以工作... 99% 如果你使用 jQuery 来改变 DOM 状态(和标准 DOM假设)。data-*属性,请使用.data()方法。.attr(),并保留一些时间来研究它(参见上面的答案)。| 归档时间: |
|
| 查看次数: |
7798 次 |
| 最近记录: |