2016-07-14 67 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) 
相關問題