javascript - 如果动态生成的 html 的 div 为空,则隐藏元素

标签 javascript html asp.net-mvc

下面是 html 片段:

<div class="row activityrow">
   @using (Html.BeginForm("DownloadFile", "GetData", FormMethod.Post, new {        target = "_blank" })){
      <label id='label_@data.test.Replace(".",@function_name).Replace("          ","")'><input type="checkbox" class="selectall" /> Select all</label>
      <div class="containsdata" style="column-count:2;width:100%;">
        @{ var count = 0;}
        @foreach (var item in data.Documents)
        {
           @if (@item.testdata.Replace(" ", "").Replace("-", "_").Replace("&","_").Replace("?", "") == function_value.Name)
           {
             <div class="right8">
               <label>
                  <input type="checkbox" id="chk_@item.ID" value="@item.ID" name="chkId" />
                  <button type="submit" class="btn btn-link" id="@item.ID"          value="@item.ID" name="Id"> @item.Title.Replace("Deploy ","")</button>
                </label>
            </div>
            count++;
        }
    }
 </div>
  @if (count > 0)
  {
    <button type="submit" class="btn btn-primary" id="selectedDownload" name="submit"> Download Selected</button>
  }
  else
  {
     <script>hideSelect('label_@data.test.Replace(".",          
       @function_name).Replace(" ", "")');
     </script>
 }

在上面,我想仅在计数 > 0 时显示全选标签。我尝试调用 hideSelect 函数来执行此操作,但它不起作用。下面是JS

<script>
  function hideSelect(args) {
  args.hide();
  console.log(args);
}

  1. 它说 hide 不是 args 的函数。我也尝试过 args.style.display = 'none' 但也不起作用。
  2. 如果单击按钮,则会显示上面显示的 div。打印的参数与我单击的参数不匹配(没有打印任何内容)。任何帮助将不胜感激。

最佳答案

为什么不直接使用 Razor 语法而不是使用 javascript 解决所有麻烦?

if(data.Documents.Count > 0){
    <label id='label_@data.test.Replace(".",@function_name).Replace(" ","")'><input type="checkbox" class="selectall" /> Select all</label>
}

<label id='label_@data.test.Replace(".",@function_name).Replace(" ","")' @if(data.Documents.Count == 0){<text>style='display:none;'</text>}><input type="checkbox" class="selectall" /> Select all</label>

关于javascript - 如果动态生成的 html 的 div 为空,则隐藏元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52823695/

相关文章:

asp.net-mvc - 在 MVC 中读取和显示上传的文本文件

javascript - 如何查找给定数组中重复数字的计数并将输出作为对象返回

javascript - CSS/HTML 中的图像转换 (?)

php - 无法显示/计算一组文本字段的总值 - angular js html php

html - 网站导航定位不正确

asp.net-mvc - 如何返回带有状态码的客户端错误消息

asp.net-mvc - 安排每周执行一次的 Quartz.NET 触发器

javascript - Onclick写入数据库而不刷新

javascript - 响应 url 更改,但组件在手动刷新之前不会呈现

javascript - 为什么在 JS 中写入剪贴板被认为是安全漏洞?