我有一个HTML文档,我需要检查一下某个属性是否出现在有问题的元素中
假设,该属性未显示。
当我说:
elem.has_attribute? "data-attr"
它返回nil而不是“false”。
当我说:
elem["data-attr"].nil?
它返回“true”,这就是我需要的。
但是,当我说:
!elem["data-attr"].nil?
它又回来了。
当我说:
r = elem["data-attr"].nil?
r = !r
r在第一行执行后变为“true”
但是,在第二行之后,“r”再次为零
它背后的魔力是什么?
答案 0 :(得分:1)
如果
elem["data-attr"].nil?
返回true,为什么不期望
!elem["data-attr"].nil?
返回nil?
答案 1 :(得分:1)
为什么不使用:
elem["data-attr"].present?
或
elem["data-attr"].blank?