我有代码:
<p>aaa</p>
<p>bbb</p>
<p>ccc</p>
我想在每一段前面加上一个复选框:
$("p").prepend("<input type='checkbox' name='xxx' id='xxx' /><label for='test'>xxx</label></span>");
但不是xxx,我需要输入一些变量,比如counter: var1 var2 var3…我怎么做呢?
# # #使用prepend
as functi功能:
$("p").prepend(function(index, htmlContent) {
console.log(htmlContent); //aaa, bbb, ccc -> the content of selected element
return "<input type='checkbox' name='xxx' id='"+index+"' /><label for='test'>xxx</label></span>";
});
###你可能会搜索所谓的“模板字面量(模板字符串)”
请参阅下面的代码片段以获取使用示例。
更多信息请参见https://developer。mozilla。org/en-US/docs/Web/JavaScript/Reference/Template_literals
// $("p").prepend("<input type='checkbox' name='xxx' id='xxx' /><label for='test'>xxx</label></span>");
//let tmp = "<input type='checkbox' name='xxx' id='xxx' /><label for='test'>xxx</label></span>";
$("p").each(function( index ) {
let name = `name_${index}`;
let id = `id_${index}`;
let text = `${$(this).text()} ${index}`
let output = `<input type='checkbox' name='${name}' id='${id}' /><label for='${name}'>${text}</label></span>`;
console.log(output);
$(this).html(output);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>aaa</p>
<p>bbb</p>
<p>ccc</p>
### #创建一个字符串变量在第一个地方,你定义的xxx变量值正确,然后使用该字符串变量到prepend!应该没问题
(编辑)
const newXXX =" < input type='checkbox' name=" + 'xxx' new value' + " id='xxx' /><label for='test'> /label>"
$ (p) 。prepend (newXXX)
您可以使用任意字符串的concat方法