【问题标题】:Is it possible to make a jquery selector take in a variable?是否可以让 jquery 选择器接受一个变量?
【发布时间】:2017-04-07 22:00:19
【问题描述】:

我在页面上动态显示链接,它们的 ID 也是动态创建的。

我可以这样做吗:

$('#dynamicVariable').otherStuff();

我一直在尝试不同的事情,例如:

var whatever = "'#"+originalVariable+"'";

$(whatever).doStuff();

这些都不起作用。有没有正确的方法来做到这一点?还是根本不可能?

当用户单击一个链接时,我希望在每个单击的链接旁边显示一个复选标记。我上面说的问题是这些都是动态创建的,所以我不能硬编码任何东西。

【问题讨论】:

  • 能否提供一个工作示例?

标签: javascript jquery variables dynamic


【解决方案1】:

删除选择器中完全不需要的额外引号。

var whatever = "#" + originalVariable;
//           --^--                        
$(whatever).doStuff();

【讨论】:

    【解决方案2】:

    使用

    var whatever = "#"+originalVariable;
    

    您希望任何内容都是等于“#foo”而不是“'#foo'”的字符串

    外部引号实际上并不存在......这只是告诉解析器您正在描述一个字符串的一种方式。

    【讨论】:

      【解决方案3】:

      当然。选择器寻找一个有效的选择器,作为一个字符串提供。因此,您构建有效字符串的任何方式都取决于您。

      在你的例子中,你有一个包含一组额外引号的字符串,所以当你有一个有效的字符串时,你没有一个有效的选择器。

      var originalVariable = $("div")[0].id;
      console.log(originalVariable);
      $("#" + originalVariable).html("Gotcha!");
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
      <div id="whatever"></div>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-08-14
        • 2012-02-23
        • 2011-08-08
        • 2013-07-30
        • 1970-01-01
        • 1970-01-01
        • 2014-03-24
        相关资源
        最近更新 更多