javascript - JQuery 隐藏所有元素

标签 javascript jquery

如果 <span> 之一,我想隐藏表格行标签具有 value 中的类变量。

变量 val 来自选择框。

$(".hostgroup").change(function(event) {
  var val = $(this).val();
  console.log(val);
  $("#groups > span").each(function() {
    $(this).closest("tr").show();
    $(this).removeClass("hd");
  });
  $("#groups > span").each(function() {
    if ($(this).hasClass(val)) {} else {
      $(this).closest("tr").hide();
      $(this).closest("tr").addClass("hd");
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select class="hostgroup" data-placeholder="Choose a hostgroup...">
    <option value="delete">delete</option>
    <option value="add">add</option>
    <option value="OS">OS</option>>    
</select>

<tr>
  <td id="groups">
    <span class="add">add,</span>
    <span class="OS">OS,</span>
  </td>
</tr>

<tr>
  <td id="groups">
    <span class="delete">delete,</span>
    <span class="OS">OS,</span>
  </td>
</tr>

例如:我选择删除,它应该只显示没有 <span> 的表行与删除类。但现在它将隐藏所有结果。

最佳答案

$("span.delete").parent().parent().hide()

将使用“删除”类隐藏其中包含跨度的整行。在“更改”事件中将类交换为您选择的值。

编辑:

应该是这样的:

$(".hostgroup").change(function(event) {
var val = $(this).val();
console.log(val);
$("span."+val).parent().parent().hide()
});

关于javascript - JQuery 隐藏所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52162579/

相关文章:

javascript - 如何将来自 setInterval 的数据推送到数组中

javascript - 选项卡内容不变

jquery - $(这个+"selector")? $ ("img",这个)可能吗?

javascript - 如何使用jquery为DOM准​​备好后添加的对象分配属性或函数

javascript - 在窗口调整大小时保持原始高度比的 Flexbox 行

javascript - javascript中使用prompt()方法初始化变量时,初始化变量的类型是什么?

javascript - 引用错误: For request with hapi/Node. js

javascript - Node : TypeError: Cannot read property 'json' of undefined

jquery - Chrome 没有将样式表 css 规则应用于某些元素,jquery 隐藏和显示 div(屏幕截图)

jquery - 使用 JQuery 移动导航栏的垂直选项卡