Javascript 列出使用jQuery检查的变量值

Javascript 列出使用jQuery检查的变量值,javascript,jquery,variables,Javascript,Jquery,Variables,在JSFIDLE中,我已经做了很多,但是我不明白为什么它不向第一个值添加项目符号 选择1 选择2 选择3 选择4 $(“输入”)。单击(函数(e){ 所选变量=$(“#复选框输入:选中”).map(函数(i,el){ 返回el.name; }).get(); $('.content').empty(); $(“.content”).append(selected.join(”); }); ​ 谢谢 函数的.join()只将字符串放在元素之间。因此,结果是 name1<li>n

在JSFIDLE中,我已经做了很多,但是我不明白为什么它不向第一个值添加项目符号


选择1
选择2
选择3
选择4
$(“输入”)。单击(函数(e){
所选变量=$(“#复选框输入:选中”).map(函数(i,el){
返回el.name;
}).get();
$('.content').empty();
$(“.content”).append(selected.join(
  • ”); });
  • 谢谢

    函数的
    .join()
    只将字符串放在元素之间。因此,结果是

     name1<li>name2<li>name3
    
    name1
  • name2
  • name3
  • 当你需要的时候

     <li>name1<li>name2<li>name3
    
  • name1
  • name2
  • name3
  • 此外,将
  • 元素放入
    中也是相当值得怀疑的


    您仍然可以使用
    .join()
    ,但是当(在连接之后)结果字符串不是空的时候,您应该在结果字符串的开头添加另一个
  • 正如@Pointy所说,
    连接
    在有单个元素时不会添加
    li
    。此外,您根本不需要使用
    join
    ,只需使用单个循环添加元素即可:

    $("input").click(function(e) {
        var $content = $('.content').empty();
        $("#checkboxes input:checked").each(function(i, el) {
           $("<li>" + el.name + "</li>").appendTo($content);
        });
    });​
    
    $(“输入”)。单击(函数(e){
    var$content=$('.content').empty();
    $(“#复选框输入:选中”)。每个(函数(i,el){
    $(“
  • ”+el.name+“
  • ”).appendTo($content); }); });​

    试试这个:

    $("input").click(function(e) {
        var selected = $("#checkboxes input:checked").map(function(i, el) {
            return "<li>"+el.name+"</li>"
        }).get();
        $(".content").html(selected.join(""));
    });
    
    $(“输入”)。单击(函数(e){
    所选变量=$(“#复选框输入:选中”).map(函数(i,el){
    返回“
  • ”+el.name+”
  • “ }).get(); $(“.content”).html(selected.join(“”); });

    请在此处张贴相关代码。虽然JSFIDLE很好,但它不应该是问题的主体!使用哪个更好?如果
    .length>0,只需加前缀a
  • ,这样更好!谢谢
    $("input").click(function(e) {
        var selected = $("#checkboxes input:checked").map(function(i, el) {
            return "<li>"+el.name+"</li>"
        }).get();
        $(".content").html(selected.join(""));
    });