首页
学习
活动
专区
工具
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.3K20
  • 一道正确率只有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并不是一个新变量

    53720

    jQuery.prop , jQuery.attr ,jQuery.data

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

    3.8K20

    JavaScript 中 Property 和 Attribute 区别详解

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

    3.8K20

    jquery中dom元素attrprop方法理解

    一、背景   在编写使用高版本[ jQuery 1.6 开始新增了一个方法 prop()]jquery插件进行编写js代码时候,经常不知道dom元素attrprop方法到底有什么区别?...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"); //不标准,不推荐了   jQueryprop()赋值(推荐如下写法):  $("#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

    jqueryattr()和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内容; 值得注意jQueryattr是获取不到这个属性

    1.9K20

    jquery jQuery快速入门

    (attrName)// 返回第一个匹配元素属性 attr(attrName, attrValue)// 为所有匹配元素设置一个属性 attr({k1: v1, k2:v2})// 为所有匹配元素设置多个属性...("checked", true); $(":radio[value='2']").prop("checked", true); propattr区别: 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.2K50

    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.8K90

    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

    jquery

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

    5.8K30

    第82天:jQueryprop()和attr()区别

    在高版本jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了。 关于它们两个区别,网上答案很多。...这里谈谈我心得,我心得很简单: 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。 对于HTML元素我们自己自定义DOM属性,在处理时,使用attr方法。...这种就是自定义DOM属性。处理这些属性时,建议使用attr方法。使用prop方法取值和设置属性时,都会返回undefined。...,选中属性对应“checked”和“selected”,这些也属于固有属性,因此需要使用prop方法去操作才能获得正确结果。...$("#chk1").prop("checked") == false $("#chk2").prop("checked") == true 如果上面使用attr方法,则会出现: $("#chk1").

    50920

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券