首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

jquery prop返回NaN,但attr返回正确的值

问题描述:jquery prop返回NaN,但attr返回正确的值。

解答:

在使用jQuery的prop()和attr()方法时,我们需要了解它们的区别和用法。

  1. prop()方法:用于获取或设置元素的属性值。它返回的是属性的当前值,而不是初始值。对于一些特殊属性,如checked、disabled等,prop()方法返回的是布尔值。
  2. attr()方法:用于获取或设置元素的属性值。它返回的是属性的初始值,而不是当前值。对于一些特殊属性,如checked、disabled等,attr()方法返回的是字符串。

根据问题描述,prop()方法返回NaN,而attr()方法返回正确的值。这可能是因为在使用prop()方法时,获取的属性值不是一个有效的数字,导致返回NaN。

解决这个问题的方法是检查代码中使用prop()方法的地方,确保获取的属性值是一个有效的数字。可以通过使用parseInt()或parseFloat()等方法将属性值转换为数字类型。

例如,假设我们有一个input元素,其中的value属性值是一个数字:

代码语言:html
复制
<input id="myInput" value="10">

我们可以使用prop()方法获取该属性值,并将其转换为数字类型:

代码语言:javascript
复制
var value = parseInt($('#myInput').prop('value'));

这样就可以确保获取的值是一个有效的数字。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)

腾讯云云服务器(CVM)是一种弹性计算服务,提供安全可靠、弹性扩展的云端计算能力。您可以根据业务需求选择不同配置的云服务器实例,满足您的计算需求。

产品介绍链接地址:https://cloud.tencent.com/product/cvm

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Winform 中 DesignMode 返回值不正确的问题。

本文转载:http://blog.csdn.net/sabty/article/details/5325260 以前也曾遇到这样的问题,不过影响不大也没有去详细了解。今天又重新遇到此问题,实在太不便。...经查证这是 Visual Studio 2005 的 Bug。微软对此的 Bug 描述:http://support.microsoft.com/?...解决方法:  在你的 Form 控件中重写 DesignMode 属性,代码如下: [c-sharp] view plaincopyprint?...///  /// 标题:获取一个值,用以指示 System.ComponentModel.Component 当前是否处于设计模式。...(DesignMode,Designtime,构造函数,Load) 在设计自定义控件时,经常需要在构造函数或者Load事件中添加初始化代码,但是这些代码在进入窗体设计也会被执行,造成了设计窗口出现异常的情况

1.6K10

Math.max()方法获取数组中的最大值返回NaN问题分析

今天群里边有人问到 Math.max() 方法返回 NaN 的问题,我简单举个例子,看下图: 看上去没什么问题,但为什么返回 NaN 呢?...我们先简单看一下  Math.max() 方法: Math.max() Math.max() 函数返回一组数中的最大值。...返回值: 返回给定的一组数字中的最大值。 注意:如果给定的参数中至少有一个参数无法被转换成数字,则会返回 NaN。 问题解决 仔细观察可以发现,代码中使用了 ......解构,这没问题,ES6 语法是支持这样了,会把数组解构成一组值。 但这里的问题是 array 是一个二维数组,解构完还是一个数组,而非数字,所以返回 NaN 了。...未经允许不得转载:w3h5 » Math.max()方法获取数组中的最大值返回NaN问题分析

4.4K20
  • 一道正确率只有15%的命名返回值和闭包的问题

    今天新注册了twitter,在里面没事瞎逛的时候,发现了一道有意思的题,他是由Redhat的首席工程师、Prometheus开源项目维护者 Bartłomiej Płotka 发出的,经调查显示,这道题的正确率只有...这道题考查的点就是命名返回值+闭包,把上面的代码换成等效的匿名返回值代码你就明白了: func aaa() (func(), error) { var done func() done = func...done() } return done, err } func main() { done, _ := bbb() done() } 这其实是Go语言设计上一个feature,当Go语言的返回值赋给我们特殊的..."返回参数"时,如果它们被命名了,在return之后,我们可以在函数主体完成后的任何执行过程中引用那些带有这些名称的值,在defer或闭包中一样。...我们在说回这道题,在bbb()函数内我们使用了命名返回值done func(), _ error,使用短变量声明done, err := aaa()接收aaa()的返回值,这里变量done并不是一个新变量

    54320

    JavaScript 中 Property 和 Attribute 的区别详解

    (in1.attributes.value); 此时,页面中的输入栏的值变成了“new value of prop”,而propety中的value也变成了新的值,但attributes却仍然是“1”。...上的任意值,都会将更新反映到HTML页面中; 基于jQuery分析attribute和property 那么jQuery中的attr和prop方法是怎样的呢?...} else { if(length) { // 如果元素集合长度不为零,则返回第一个元素的属性值 return fn(elems[0], key); // jQuery.attr(elems...要注意,这里的jQuery.prop和jQuery.attr并不是原型链上的方法,而是jQuery这个对象本身的方法,它是使用jQuery.extend进行方法扩展的(jQuery.fn.prop和jQuery.fn.attr...Sizzle.attr,这个方法中针对兼容性问题作出处理来获取attribute的值 // 返回获得的值 return ret == null ?

    3.8K20

    jQuery.prop , jQuery.attr ,jQuery.data

    根据jquery官网。 jquery.prop 获取匹配的元素中第一个元素特定的属性值,或者是设置多个元素的属性值。 有4个重载。 .prop(propertyName) 获取属性名对应的属性值。...如果值没有设置过或者不存在匹配的元素的话返回空(如果存在这个prop的key,比如var val=$("#div1").prop("class"),alert出来就是空)或者undefined(不存在这个....prop(propertyName,value) 设置对应的属性值。如果是多个的话都设置。同.attr。如果想通过这个方法来改变一个input的type属性,是会抛出异常的。...jQuery1.6 以前版本,获取某些attribute的时候会用property的值,但这有可能会引起不确定的行为表现。...在jQuery1.6以前的版本中,也可以用.attr()来获取。但这其实不是.attr的分内之事,因为这些只是property,而不是attribute。 比如有这个。

    3.8K20

    jquery中dom元素的attr和prop方法的理解

    一、背景   在编写使用高版本[ jQuery 1.6 开始新增了一个方法 prop()]的jquery插件进行编写js代码的时候,经常不知道dom元素的attr和prop方法到底有什么区别?...a标签中的固有属性中并不包含该属性。这些属性被称为dom元素的自定义属性,这种情况下,我建议使用attr方法。此时若使用prop方法进行设置和获取该属性的值时就会返回undefined值。   ...、radio、select等元素的选中属性"checked"和"selected",这些属性也是dom元素的固有属性,因此使用prop方法才能正确的进行获取和设置。..."#op").attr("selected") == 'selected' 但网上也有说官方的建议是:具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled...使用prop(),其他的使用 attr()。

    1.2K20

    【前端JQ】jQuery赋值checked的几种写法,attr()方法不好使,建议使用prop()方法。

    jQuery判断checked是否是选中状态的三种方法:  .attr('checked') // 返回:"checked"或"undefined" ;  .prop('checked') // 返回true.../false  .is(':checked') // 返回true/false //别忘记冒号哦   jQuery赋值checked的几种写法:  $("#checked").attr("checked...","true"); //不标准,不推荐了   jQuery的prop()的赋值(推荐如下写法):  $("#checked").prop("checked",true); //标准写法,推荐!  .../函数返回true或false  }); 在项目实际应用中,使用.attr()方法时,在多次选中 取消 再选中之后.attr()方法就不生效了。...所以正确的用法应该是使用.prop()方法。可以保证每次都会生效。

    1.3K30

    Jquery 获取checkbox属性checked为undefined和改变状态 值不变

    截至 jQuery 1.6,.attr() 方法返回未定义的属性尚未设置。此外,.attr() 应该不用于普通对象、 数组、 窗口或文档。若要检索和更改 DOM 属性,请使用.prop() 方法。...属性和属性之间的差异可能是重要在特定情况下。在 jQuery 1.6 之前, 的.attr() 方法有时属性值时考虑检索一些属性,可能会导致不一致的行为。...到 jQuery1.6,.prop() 方法提供方法来显式检索属性值,而.attr() 检索属性。...’)来返回true和false 总结: (1)获取checked的方法     .attr('checked'):       .prop('checked'): //1.6+:true/false....attr("checked",true);       jquery1.6以上版本的:      .prop("checked",true);     .prop("checked","checked

    1.9K60

    jquery中attr()和prop()的区别

    在jQuery中,attr()函数和prop()函数都用于设置或获取指定的属性,它们的参数和用法也几乎完全相同。 但不得不说的是,这两个函数的用处却并不相同。下面我们来详细介绍这两个函数之间的区别。...2、应用版本不同 attr()是jQuery 1.0版本就有的函数,prop()是jQuery 1.6版本新增的函数。...此外,对于表单元素的checked、selected、disabled等属性,在jQuery 1.6之前,attr()获取这些属性的返回值为Boolean类型:如果被选中(或禁用)就返回true,否则返回...但是从1.6开始,使用attr()获取这些属性的返回值为String类型,如果被选中(或禁用)就返回checked、selected或disabled,否则(即元素节点没有该属性)返回undefined...outerHTML的内容; 值得注意的是jQuery的attr是获取不到这个属性值的。

    2K20

    jquery jQuery快速入门

    (attrName)// 返回第一个匹配元素的属性值 attr(attrName, attrValue)// 为所有匹配元素设置一个属性值 attr({k1: v1, k2:v2})// 为所有匹配元素设置多个属性值...("checked", true); $(":radio[value='2']").prop("checked", true); prop和attr的区别: attr全称attribute...(属性) prop全称property(属性) 虽然都是属性,但他们所指的属性并不相同,attr所指的属性是HTML标签属性,而prop所指的是DOM对象属性,可以认为attr是显式的,而prop是隐式的...$("#i1").prop("checked") // true 这已经可以证明attr的局限性,它的作用范围只限于HTML标签内的属性,而prop获取的是这个DOM对象的属性,选中返回true,没选中返回...总结一下: 对于标签上有的能看到的属性和自定义属性都用attr 对于返回布尔值的比如checkbox、radio和option的是否被选中都用prop。

    16.3K50

    jQuery 升级踩坑大全

    正确的做法应该是 $('input').prop('checked', true); //把单选框设为选中状态 $('input').prop('checked'); //获取单选框是不是被选中了,返回...= $('input').attr("haha"); //返回"hello",自定义属性 var v4 = $('input').prop("haha"); //返回undefined,根本没有这个固有属性...这个问题常见于AJAX接收服务端返回值的时候。服务端可能返回一个空字符串,这时候调用该接口会产生错误。必须向$.parseJSON传入合法的JSON字符串。...("checked", true); //使用attr获取property的值,正确的是应该使用 .val() var keng5 = $("div#d").attr("value");...//使用attr设置property的值,正确的是应该使用 .val('somevalue') var keng6 = $("div#d").attr("value", "abcd"); //html

    3.9K90

    jQuery: attr() vs prop()

    通过上节我们看到prop来自节点对象自带的,它包含了很多property;而attr来自对象的attributes,是我们在元素节点上添加属性节点才会有的。...因此差别就是: property记录的值会按照用户操作实时更新,而attribute记录的都是初始值。 3. prop()和attr()的区别?...的prop()方法是和上面直接取property一样 ,因此: $( elem ).prop( "checked” ) //true (Boolean) 会随着勾选状态而改变 而拿attribute拿到的只是初始的值...的attr()方法获的的结果也跟getAttribute是一致的: $(‘input[type=“checkbox”’).attr( ‘checked’ ) // 同上一条 至于说jQuery的历史版本中...,attr()的实现曾经会跟getAttribute不一致,比如返回结果是会随着勾选状态变化的字符串,或者返回结果是Boolean类型的值,知道即可因为现在的用法是一致的了~

    1.5K50

    高德地图AndroidSDK错误码返回值为32解决办法(暨如何获取SHA1值的正确方法)

    设置的密码。...输入密钥后回车(如果没设置密码,可直接回车),此时可在控制台显示的信息中获取 Sha1 值 说明:keystore 文件为 Android 签名证书文件。...我输入keytool -list -v -keystore debug.keystore 获取SHA1后配置的Key,在自己的demo里运行没问题,结果整合到项目里错误码却总是返回 32,百思不得其解。...后来从网上找到了这个获取当前应用SHA1值得方法,得到的SHA1和我用以上方法得到的居然不一样!拿这个值去官网配置Key后定位就没问题了!...我之前用的是.android目录下的debug.keystore。这个是当你的项目中没有keystore时默认使用的签名,而当你项目里有了签名后就不能用那个,得用项目中的。

    1.6K20

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券