如何在 JQuery 中使用动态选择器

How to use a dynamic selector in JQuery

在 Ruby on Rails 6 环境中,我需要隐藏所有 html 元素,并仅显示具有特定 ID 的元素。但是我无法正确指定选择器,下面的 xquery 片段也没有 运行:

/* the @tag variable contains #xyz value */

$("#main-center .main-element").hide();

$(@tag).show();

我也尝试了 Ruby 插值 $("#{@tag}")$(<% @tag %>) 但没有成功。

有人有建议吗?

您必须将选择器括在引号(单引号或双引号)中:

$('<%= @tag %>').show();

$("<%= @tag %>").show();

我不是 Ruby 人,但假设 Ruby 在文件到达浏览器之前对其进行预处理,我相信您需要:

$("{@tag}").show();

Javascript 需要引号,因为选择器是一个字符串。