如何删除空li元素上的子弹

时间:2017-04-24 05:24:05

标签: jquery

/HTML/
<ul id="list" class="row list-group checked-list-box col-xs-3"></ul>
/append li tag/
 $('#list').append('<li class="list-group-item tree">  <input type="checkbox"  name="swt">'+ "Train" + '</li>');
/Jquery/
var sw = {};
    var favorite = [];
    $.each($("input[name='swt']:checked"), function() {
        favorite.push($(this).val());           
    });
    sw.swd = favorite;

var skill= {};
    for (var m = 0; m < favorite.length; m++) {
        var swObj = [];
        $.each($('input[name="' + sw.swd[m] + '"]:checked'), function() {                
            swObj.push($(this).attr("class"));

        });
        skill[sw.swd[m]] = swObj;
    }

var data = " ";
    $.each(skill, function(key, value) {            
        data += '<li>' + key + ':' + value + '</li>';                       
    });

我需要删除列表出现之前出现的子弹。 我的输出如下:

  • 车辆:火车,公共汽车,汽车

  • 蔬菜:洋葱,马铃薯,番茄

我希望通过移除顶部的第一个子弹来输出。伙计们可以帮助我解决这个问题吗?

3 个答案:

答案 0 :(得分:1)

只需使用

if(key !="" && value !="") { data += '<li>' + key + ':' + value + '</li>'; }

答案 1 :(得分:1)

试试这个,

  var data = " ";
    $.each(skill, function(key, value) {    
         if (value === " " || value === null || value === undefined || value === "" || typeof (value ) === "undefined")   // Advanced null check + white space check
        //if(  value ) { // normal null check
           data += '<li>' + key + ':' + value + '</li>';              
        }         
    });

无需检查/验证密钥,因为当您使用$ .each

时,它永远不会为null

注意:如果您的值是空格,则此验证将不起作用,您还需要将其添加到此列表中。

答案 2 :(得分:0)

&#13;
&#13;
$(function() {
	var sw = {};
    var favorite = [];
    $.each($("input[name='swt']:checked"), function() {
        favorite.push($(this).val());           
    });
    sw.swd = favorite;

var skill= {};
    for (var m = 0; m < favorite.length; m++) {
        var swObj = [];
        $.each($('input[name="' + sw.swd[m] + '"]:checked'), function() {                
            swObj.push($(this).attr("class"));

        });
        skill[sw.swd[m]] = swObj;
    }

var data = " ";
    $.each(skill, function(key, value) {            
       
			data += '<li>' + key + ':' + value + '</li>';                     
    });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<ul class="row list-group checked-list-box col-xs-3">
<li class="list-group-item tree">  <input type="checkbox" id="1" value="Train" name="swt">Train</li></ul>
&#13;
&#13;
&#13;