ruby - 有_属性?问题

标签 ruby nokogiri

我有一个 HTML 文档,我需要检查某些属性是否出现在有问题的元素中

假设,属性没有出现。

当我说:

elem.has_attribute? "data-attr"

它返回 nil 而不是“false”。

当我说:

elem["data-attr"].nil?

它返回“true”,这就是我需要的。

但是,当我说:

!elem["data-attr"].nil?

它再次返回 nil。

当我说:

r = elem["data-attr"].nil?
r = !r

r 在第一行执行后得到“true”

但是,在第二行之后,“r”再次变为 nil

它背后的魔力是什么?

最佳答案

为什么不使用:

elem["data-attr"].present?

elem["data-attr"].blank?

关于ruby - 有_属性?问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3776045/

相关文章:

ruby - 使用 to_html 时如何避免在 Nokogiri 中漂亮地打印 HTML?

ruby - 在 Ruby 中使用使用保留字作为字段名称的 Web 服务

ruby-on-rails - 嵌套图标和Rails的link_to或button_to不适用于SLIM

ruby-on-rails - 将 Rails 6 应用程序部署到 Google Cloud Platform App Engine 时出错

Ruby:如何使用 Nokogiri 从 XML 获取属性值?

ruby - Nokogiri XPath 找不到某些节点

Ruby AWS - 以编程方式生成可用 AWS 实例类型的列表

ruby-on-rails - Ruby on Rails 教程第 11 章 : Rspec tests fail on follower/following section

ruby - 安装 gem Nokogiri-1.8.4 时出错

ruby-on-rails - 如果在 Mechanize 的按钮名称中使用与号,我是否需要转义字符?