Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jQuery选择器中包含变量?_Javascript_Jquery - Fatal编程技术网

Javascript 如何在jQuery选择器中包含变量?

Javascript 如何在jQuery选择器中包含变量?,javascript,jquery,Javascript,Jquery,在我的JavaScript中,我有一个名为counter的变量。我想把它附加到我用脚本动态创建的select标记的ID中,比如- // Creating a <div> var random_div = $(document.createElement('div')) .attr("class", "col-md-7"); counter = 5; random_div.after().html('<select multiple clas

在我的JavaScript中,我有一个名为
counter
的变量。我想把它附加到我用脚本动态创建的select标记的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);
我甚至尝试了另一个变量,但也不起作用-

var testing = '#tal' + counter;
$(testing).select2({width: 'resolve'});
现在,如果我将其硬编码为
$(“#tal5”)。选择2({width:'resolve'}),它可以工作


这是非常基本的,但我似乎无法找到解决方案。

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

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

const select=$(”由于单引号和双引号的转义失败,出现了一些js错误

var random\u div=$(document.createElement('div')) .attr(“类别”、“col-md-7”); 计数器=5; random_div.after().html(“”); console.log($(random_div).find(“#tal”+计数器)[0])

在您的硬编码示例中,您是指“tal5”还是“tal5”工作?您已经验证了
计数器
包含
5
?我看不出选择器的问题可能是计数器有问题。为什么选择的代码中有
?如果没有显示问题的示例,这将很难调试。代码应该工作,所以可能是其他原因。()
?这很好用-但是,在我的实际代码中,我还有
h5
div
标签,比如
,而你的代码给了我一个错误。你有什么建议吗?所以从中选择标签…
const myElems=$('')myElems.find(“select”)。select2()
谢谢,效果很好。尽管我仍然使用我最初使用的
after()
,因为如果我尝试您的方法,页面上元素之间的间距会因为某种原因而变得很奇怪。只是添加了
random_div.find(“select”).select2({width:'resolve'})
,而不是使用jQuery选择器。
const select = $('<select ...></select'); // make the select
yourElem.append(select) // add it
select.select2({width: 'resolve'}); // fire the select2