首页 > 解决方案 > 如何在 jQuery 选择器中包含变量?

问题描述

在我的 JavaScript 中,我有一个名为counter. 我想将它附加到我使用我的脚本动态创建的选择标签的 ID,如 -

// Creating a <div>
var random_div = $(document.createElement('div'))
                 .attr("class", "col-md-7");

counter = 5;

random_div.after().html('<select multiple class="js-example-basic-multiple" name="tal' + counter + '" id="tal' + counter + '" > </select>');

random_div.appendTo(main_div);

现在,我正在尝试解析这个新创建的select标签的宽度,但它不起作用-

$("#tal" + counter).select2({width: 'resolve'});

我什至用另一个变量尝试过,但这也不起作用-

var testing = '#tal' + counter;
$(testing).select2({width: 'resolve'});

现在,如果我将其硬编码为$("#tal5").select2({width: 'resolve'});,它可以工作。

这真的很基本,但我似乎无法找到解决方案。

标签: javascriptjquery

解决方案


不要查找元素,使用 jQuery 生成元素并使用参考

const select = $('<select ...></select'); // make the select
yourElem.append(select) // add it
select.select2({width: 'resolve'}); // fire the select2

推荐阅读