2017-04-06 67 views
1

我有这样隐藏div元素,如果它是空的(ASP.NET MVC)

$('#display').click(function() { 
     var vacancyId = $("#vacancy").val(); 
     var model = { 
      vacancyId: vacancyId 
    }; 

     $.ajax({ 
    url: '@Url.Action("QuestionBlocks", "Questions")', 
    contentType: 'application/json; charset=utf-8', 
    data: JSON.stringify(model), 
    type: 'POST', 
    dataType: 'json', 
    processData: false, 
    success: function (data) { 
     var question1 = data[0] 

     $(".list").append('<div style="width:80%;font-size:20px;margin-top:15px;border-style: solid;border-color:#ffcf00;border-radius: 5px;margin: 10px auto 0;;">' + question1.Question1 + '</div>' + '<div style="width:80%;font-size:20px;margin-top:15px;border-style: solid;border-color: #ffcf00;border-radius: 5px;margin: 10px auto 0;">' + question1.Question2 + '</div>' + '<div style="width:80%;font-size:20px;margin-top:15px;border-style: solid;border-color: #ffcf00;border-radius: 5px;margin: 10px auto 0;">' + question1.Question3 + '</div>' + '<div style="width:80%;font-size:20px;margin-top:15px;border-style: solid;border-color: #ffcf00;border-radius: 5px;margin: 10px auto 0;">' + question1.Question4 + '</div>' + '<div style="width:80%;font-size:20px;margin-top:15px;border-style: solid;border-color: #ffcf00;border-radius: 5px;margin: 10px auto 0;">' + question1.Question5 + '</div>' + '<div style="width:80%;font-size:20px;margin-top:15px;border-style: solid;border-color: #ffcf00;border-radius: 5px;margin: 10px auto 0;">' + question1.Question6 + '</div>' + '<div style="width:80%;font-size:20px;margin-top:15px;border-style: solid;border-color: #ffcf00;border-radius: 5px;margin: 10px auto 0;">' + question1.Question7 + '</div>' + '<div style="width:80%;font-size:20px;margin-top:15px;border-style: solid;border-color: #ffcf00;border-radius: 5px;margin: 10px auto 0;">' + question1.Question8 + '</div>' + '<div style="width:80%;font-size:20px;margin-top:15px;border-style: solid;border-color: #ffcf00;border-radius: 5px;margin: 10px auto 0;">' + question1.Question9 + '</div>' + '<div style="width:80%;font-size:20px;margin-top:15px;border-style: solid;border-color: #ffcf00;border-radius: 5px;margin: 10px auto 0;">' + question1.Question10 + '</div>'); 
     $(".list").find('div.section:empty').hide(); 
     } 
    }); 
}); 

Ajax调用但是一些div是空的,因为从后端值为空。

我需要隐藏空的div

我试试这个$(".list").find('div.section:empty').hide();但似乎没有工作。

我在代码中写错了什么?

+2

你在哪里添加类'section'你'div's –

+0

为卡斯滕说,有被追加无节的div,尝试'$(“名单”)儿童('DIV:空').hide();' – Pete

+0

对不起,我似乎明白我的错误。现在将尝试一个解决方案 – Eugene

回答

1

这可以很容易地使用javascript来完成。在这种方法中,您将获得所有div,检查它们是否为空,并相应地隐藏它们。

var req = document.getElementsByClassName('list'); 
for(j=0; j<req.length; j++) 
{ 
    var divs = req[j].innerHTML.getElementsByTagName('div');// got all the divs in the current element 

    for(i=0; i<divs.length; i++) 
    { 
     if(divs[i].innerHTML == "") 
     { 
     divs[i].style.display = 'none'; 
     } 
    } 
} 
+0

从页 – madalinivascu

+0

所有的div他只需要“.list”类中​​的div。为什么所有的divs? –

+0

@madalinivascu修复它 –