有没有更好的方法来检查属性:
var isOwner = false;
if ($(selectedItem).is('[data-isOwner="True"]') || $(selectedItem).is('[data-isOwner="true"]')) {
isOwner = true;
} else {
isOwner = false;
}
现在我需要检查'True'和'true' ......
由于
答案 0 :(得分:3)
您可以将 data-isOwner 中存储的值转换为小写,并仅将该值与'true'进行比较。
if (($(selectedItem).attr ('data-isOwner') || '').toLowerCase () == 'true')
<wanted-value> || ''
的上述用法将使得 selectedItem 没有属性 data-isOwner 表达式将导致一个空字符串,您可以在其上调用 toLowerCase 而不会出错。
如果没有这个小黑客,你必须手动检查以确保该属性确实存在,否则在尝试调用 toLowerCase 运行时错误 >在未定义的对象上。
如果您发现前面提到的解决方案令人困惑,您可以使用
var attr_value = $(selectedItem).attr ('data-isOwner');
if (typeof(attr_value) == 'string' && attr_value.toLowerCase () == 'true') {
...
}