javascript - 使用 jquery 检查 html 属性是否存在并且具有正确的值

标签 javascript jquery dom

是否有更好的方法来检查属性:

  1. 它存在。因此,如果属性不存在,则值必须为 false
  2. 值正确( 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/

相关文章:

javascript - 查找特定结束标记旁边的 HTML 元素

javascript - 初始化谷歌地图而不可见= bug

javascript - 如何在 Microsoft edge 中获取选中的单选按钮的值?

javascript - 在特定字符串后删除

javascript - 从 docx 模板 javascript 生成 docx 文档

javascript - 删除 dom 加载后创建的动态元素

javascript - Xrtml 和 Ruby on Rails,日历预订槽

javascript - Jquery 在点击图片时切换

javascript - InnerHTML 会覆盖以前的条目吗?

javascript - 为超链接添加 onclick 事件