2016-07-14 68 views
0
var html = ''; 
$('.bob').each(function() { 
    var item = $(this).data('xyz'); 
    if($("input[data-var='"+item+"']").length == 0) 
     $('.checkboxes').append('<label><input class="testclss" data-var="' + item + '" type="checkbox" />' + item + '</label>'); 
}); 

我需要从列表从列表中删除空值,并使用复选框jQuery的

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
<div class="bob" data-xyz="fish"></div> 
<div class="bob" data-xyz="dog"></div> 
<div class="bob" data-xyz="fish"></div> 
<div class="bob" data-xyz=""></div> 
<div class="bob" data-xyz="fish"></div> 
<div class="bob" data-xyz="fish"></div> 
<div class="bob" data-xyz=""></div> 
<div class="bob" data-xyz="none"></div> 

<div class="checkboxes"></div> 

一切只是工作正常删除空值,没有价值创造,但我需要删除无和“”来自列表的值

+0

嗯...你尝试添加'如果(item)'在添加新复选框之前? – VisioN

回答

3

您可以选择过滤这样的:

var html = ''; 
$('.bob[data-xyz!=""][data-xyz!="none"]').each(function() { 
    var item = $(this).data('xyz'); 
    if($("input[data-var='"+item+"']").length == 0) 
     $('.checkboxes').append('<label><input class="testclss" data-var="' + item + '" type="checkbox" />' + item + '</label>'); 
}); 
+0

感谢它的工作正常...有没有删除没有任何可能 –

+0

是的,看看编辑 – RafH

+0

谢谢工作正常 –

0

我假设您正在循环查找空白数据元素的此列表<div>。在这种情况下,.each()循环中的if语句应该是这个样子:

if ($(this).data("xyz").length == 0) 
相关问题