是否有更好的方法来检查属性:
- 它存在。因此,如果属性不存在,则值必须为 false
- 值正确( bool 值)
var isOwner = false;
if ($(selectedItem).is('[data-isOwner="True"]') || $(selectedItem).is('[data-isOwner="true"]')) {
isOwner = true;
} else {
isOwner = false;
}
现在我需要检查 'True' 和 'true'...
谢谢
最佳答案
您可以将存储在 data-isOwner 中的值转换为小写,并且只将该值与“true”进行比较。
if (($(selectedItem).attr ('data-isOwner') || '').toLowerCase () == 'true')
以上的使用<wanted-value> || ''
将使得如果 selectedItem 没有属性 data-isOwner 表达式将产生一个空字符串,您可以在该字符串上调用 < em>toLowerCase 没有错误。
如果没有这个小技巧,您将不得不手动检查该属性是否确实存在,否则您在尝试调用 toLowerCase运行时错误> 在未定义对象上。
如果您发现前面提到的解决方案令人困惑,您可以使用一些东西作为
var attr_value = $(selectedItem).attr ('data-isOwner');
if (typeof(attr_value) == 'string' && attr_value.toLowerCase () == 'true') {
...
}
关于javascript - 使用 jquery 检查 html 属性是否存在并且具有正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11469722/