温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

jQuery那坑爹的text()

发布时间:2020-06-24 21:39:30 来源:网络 阅读:508 作者:边城__ 栏目:web开发

有一段代码:

  1. var jTd = $("td:first");  
  2. jTd.text(jTd.find(":input").val()).addClass("readonly"); 

结果居然报告:对象不支持“addClass”属性或方法
难道 text(param) 返回的不是jQuery对象?!

仔细想了下,想明白了,一般情况下是返回的jQuery对象,但有一种情况除外……
假设:jTd.find(":input").val() 得到的值是undefined呢?这时候text(undefined)和text()是一样的效果,返回的都是innerText。所以,要排除text()的参数undefined的情况,可以这样

  1. jTd.text($express || ""

不过也有缺陷,比如$express是0或者false的时候,这里jTd就不能显示出来了。如果觉得要去判断$express太麻烦,那就只有一个办法:把text()放在最后调用,或者单独调用!比如:

  1. var jTd = $("td:first");  
  2. jTd.addClass("readonly").text(jTd.find(":input").val()); 
坑爹的text(),还有类似的html(),下次得小心着用啦!
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI