Tag: prop

什么时候最好使用`attr()`而不是`.prop()`?

( 注意 :虽然可能很容易说这是.prop()vs .attr()的重复, 但我不相信它。 .prop()文章解释了.prop()和.attr()之间的区别。但是,当一个人优先于另一个人时,并没有明确说明,这就是这个问题的目的。) 尽管已经在StackOverflow上阅读了关于.prop()和.attr()之间差异的一些问题/答案,但我仍然看到很多关于这个问题的混淆。 我觉得在StackOverflow上有一个明确的引用来描述当一个方法比另一个方法更好时,这样我们可以消除猜测并试图弄清楚某些东西是属性还是属性。 因此,我问, 对于哪些属性/属性,最好使用.prop()和.attr() ?

应该用prop()或attr()设置href吗?

如果我想动态更改链接的href,我应该使用prop()还是attr() ?

jQuery .prop()返回undefined,而.attr()按预期工作 – 数据 – *

我只想从两个元素中获取几个属性。 从input元素获取属性value按预期工作。 问题是从button元素获取属性data-detail属性。 它在使用.prop()时返回undefined ,但在使用.attr()时按预期工作。 谁能解释我目睹的这种奇怪的行为? HTML First name Edit Save Close JS $(“.saveBtn”).on(“click”, function() { var saveBtn = $(this); // The following statement yields undefined. When using .attr() it works as expected. var detail = saveBtn.prop(“data-detail”); var relevantInput = saveBtn.parent().next(); // The following statement works as expected. var value = relevantInput.prop(“value”); // … });

jQuery attr vs. prop,有一个道具列表?

这不是一个重复的问题 ,我只需要决定更好/更快/更正是使用attr还是使用prop 。 最简单可靠的方法是检查列表。 “ 元素名称列表,其中更好的是使用prop(name)和/或列表,其中更好的是使用attr(name) ”。 PS:我使用的是jQuery 1.9+,并假设attr()不是一个弃用的方法。 决策示例 ( LIST有答案): 最好通过$(x).prop(‘id’)或$(x).attr(‘id’)获取ID值? 用$(x).prop(‘title’,’BLABLA’)或$(x).attr(‘title’,’BLABLA’)更好地改变标题? 我可以使用$(x).attr(‘selectedIndex’)吗? 什么属性名称有“ 跨浏览器一致性 ”的风险? 有一些情况(使用Microsoft-IE p.ex.)其中$(x).attr(‘name’)和$(x).prop(‘name’)将返回不同的东西? 也许完整的列表不是必需的,只是列出了对jQuery产生一些影响或风险的事情。 关闭后编辑: 请单击下面的REOPEN链接接受此编辑的问题文本。

用jquery更改img src

我有的html结构是这样的: 我正在尝试将文件名从文件#-128×79.jpg更改为文件#-896×277.jpg 。 我不知道如何获取动态生成的文件名并搜索和替换src更改。 我找到了用’none’替换整个src的方法,以确保我到目前为止做到了,但我不知道如何做其余的事情。 $(‘#something’).removeAttr(‘id’).prop(‘class’, ‘some-class’).find(‘img’).prop(‘src’, ‘none’);

为什么jQuery 1.9+ attr()方法不被弃用?

我可以,一个jQuery1.9 +软件开发人员,在我的日常工作中“弃用” attr()方法的使用吗? 如许多问题所示, .prop()vs .attr() (main) jQuery attr vs. prop,有一个道具列表? jQuery attr vs prop? 将jQuery 1.8.3迁移到1.9.0 – 替换已弃用的.attr() ……等…… 关于“使用attr或使用道具?”存在很多困惑。 ,并且,根据我的(开发人员)观点,对于attr()方法的所有用法,我们可以使用prop代替: 向后兼容性 :编写新软件不需要这个; 性能 : John说 “通过.attr()方法访问属性比直接通过.prop()访问它们要慢一些”; 更改属性值 :all可以通过prop(name,newvalue)方法更改。 删除属性 :all可以通过removeProp(name)方法删除。 检查HTML属性值 :浏览器使用DOM,所有HTML都转换为DOM,如果DOM影响了attr(name)方法也受到影响。 关于prop的“强类型”:它比“html string value”(例如“checked”vs true )更好。 检查是否在“HTML原始代码”中定义了属性 (假设浏览器中的方法attr返回undefined,如果不是)…嗯,我们需要在某个软件中使用它吗? 在表单中 ,“。val()方法是建议的jQuery方式来获取或设置表单的值” 跨浏览器一致性 :两者(不仅仅是attr)都是一致的方法。 (它是??)。 所以,在这个时候(2013年),我没有看到在开发新的jQuery代码时使用attr方法的充分理由……但是,换句话说,这就是问题: 使用attr方法有充分的理由在我的日常任务中?