在我的JavaScript中,我有一个名为counter
的变量。我想将其附加到我使用脚本之类的动态创建的选择标签的ID中,-p>
// 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'});
,那么它可以工作。
这真的很基础,但是我似乎找不到解决办法。
答案 0 :(得分:2)
不要查找元素,使用jQuery生成元素并使用引用
const select = $('<select ...></select'); // make the select
yourElem.append(select) // add it
select.select2({width: 'resolve'}); // fire the select2
答案 1 :(得分:0)
由于单引号和双引号的错误转义而导致一些js错误
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>');
console.log($(random_div).find('#tal'+counter)[0])
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
尝试一下,现在可以正常工作