如何使用 RoR RJS 模板代码检测 html 页面元素是否存在?

发布于 2024-07-15 08:16:16 字数 22 浏览 12 评论 0原文

我尝试了多种方法,但都失败了。

I tried several ways but all are failing.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

嘿哥们儿 2024-07-22 08:16:16

正如 dbarker 提到的,您可以使用 page['theElementID'] 根据 ID 来测试特定 HTML 元素是否存在。

如果您的目标元素没有 ID 属性,您还可以使用 CSS 选择器检查它,包括类名称。 例如:

if page.select('div.comment').any?
    # Logic here if there is at least one comment
else
    # Logic for no comments
end

关于 page.select 的文档: http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper/JavaScriptGenerator/GeneratorMethods.html#M001632

As dbarker mentioned, you can use page['theElementID'] to test whether a specific HTML element exists based on its ID.

If your target element doesn't have an ID attribute, you can also check for it with a CSS selector, including class names. For example:

if page.select('div.comment').any?
    # Logic here if there is at least one comment
else
    # Logic for no comments
end

Documentation on page.select: http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper/JavaScriptGenerator/GeneratorMethods.html#M001632

别在捏我脸啦 2024-07-22 08:16:16

事实上,我无法开始

    if page[:element]
        # code here
    end

工作。 相反,我最终使用了

    page << "if( $('element') ) {"
        # code here
    page << "}"

Actually, I couldn't get the

    if page[:element]
        # code here
    end

to work. Instead, I ended up using

    page << "if( $('element') ) {"
        # code here
    page << "}"
离鸿 2024-07-22 08:16:16

您可以使用 JavascriptGenerator 的 [ ] 方法来查找如下元素:

page['theElementId']

这是详细信息的链接:

模块
ActionView::Helpers::PrototypeHelper::JavaScriptGenerator::GeneratorMethods

You can use the [ ] method of the JavascriptGenerator to find an element like this:

page['theElementId']

Here's a link to the details:

Module
ActionView::Helpers::PrototypeHelper::JavaScriptGenerator::GeneratorMethods

神仙妹妹 2024-07-22 08:16:16

你可以像这样使用 dbarker 所说的:

 if page['theElementId'].nil?
       # then have you logic here if the element does not exist
 else
       # if the element does exist
 end

You could use what dbarker said like this:

 if page['theElementId'].nil?
       # then have you logic here if the element does not exist
 else
       # if the element does exist
 end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文