使用js/jQuery检查对象(而不是元素)是否真的存在
Check if an object (not an element) really exists with js/jQuery
我得到了这串代码,数据是在ajax环境中的成功回调中返回的值:
$('#cpt_rspp_value').text(data.Payload.Clerks.rspp.full_name)
$('#cpt_ddl_value').text(data.Payload.Clerks.ddl.full_name)
$('#cpt_rls_value').text(data.Payload.Clerks.rls.full_name)
$('#cpt_mc_value').text(data.Payload.Cler.mc.full_name)
$('#cpt_se_value').text(data.Payload.Clerks.se.full_name)
如果rspp
真的存在于DB中,那么对象data.Payload.Clerks.rspp.full_name
就会出现,所以我可以把它放在正确的位置(即:#cpt_rspp_value
)。但是,唉,如果该对象不存在,js解释器将停止,因此,即使下一个对象data.Payload.Clerks.ddl.full_name
、data.Payload.Clerks.rls.full_name
等将出现,该行也永远不会被处理。
我应该"如果"任何行,但如何?if(data.Payload.Clerks.rspp.full_name)
和if(data.Payload.Clerks.rspp.full_name != null)
不能解决该问题。我能做什么?
您可以使用typeofjavascript运算符来检查对象是否定义了
if(typeof data.Payload.Clerks.rspp.full_name != 'undefined')
或
if(typeof data.Payload.Clerks.rspp != 'undefined')
用于检查它是否严格为object
if(typeof myobject === 'object')
在您的情况下,检查string
型
if( typeof data.Payload.Clerks.rspp.full_name === 'string')
个人意见-您可以只使用if(rspp.full_name)
,因为它在更大的方案中是一个微不足道的检查。(根据问题中的内容):)
相关文章:
- javascript数组元素是否知道其封闭数组
- 如何检查元素是否在iframe中
- 检查元素是否将状态从隐藏更改为可见
- 确定元素是否存在
- 消隐数组元素是否生成自己的属性
- 检查一个元素是否有一个类与另一个类总是返回true
- 如何检查日期选择器和时间选择器元素是否使用JQuery/Javascript设置
- 如何查找具有该ID的元素是否存在
- 检查元素是否已单击或hasClass
- 使用webdriver和selenium验证元素是否不存在
- 如何使用jQuery实时检查元素是否为空
- html元素是否具有内置的属性
- 检查元素是否有内容
- 使用 javascript 检查元素是否包含子标记而不是文本
- JavaScript 在 JSON 对象中移动如何判断元素是否存在
- 检查两个或多个 DOM 元素是否重叠
- 谷歌地球插件 — 如何检查带有 ID 的元素是否已经存在
- 检查元素是否悬停在上面
- DOM 元素是否可以具有其值为任意对象(而不是字符串)的属性
- 如何检查DOM元素是否已完全加载