javascript - 每行仅突出显示一个单元格

标签 javascript jquery html css

我的目标是能够在单击时突出显示一个单元格,并在再次单击时取消突出显示。

每一行只能突出显示一个单元格。

下面是我尝试的代码,这里是 fiddle .

谢谢。

HTML:

<div class="hws-css-filter" >
  <div class="hws-css-filter-tr">
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
  </div>
  <div class="hws-css-filter-tr">
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
  </div>
</div>

jQuery

$('.hws-css-filter-td').click(function () {
    var theTable = $(this).closest('.hws-css-filter-tr');
    $(theTable).each(function () {
        $(this).css("background-color", "");
    });
    $(this).css("background-color", "blue");
});

最佳答案

像下面这样首先移除所有 sibling 的背景颜色。

$('.hws-css-filter-td').click(function() {
  $(this).siblings().css("background-color", "");
  $(this).css("background-color", "blue");
});
.hws-css-filter {
  display: table;
  margin: auto;
  vertical-align: middle;
}

.hws-css-filter-tr {
  display: table-row;
  padding: 0;
  margin: 0;
}

.hws-css-filter-td {
  display: table-cell;
  border: 1px solid #000;
  width: 15px;
  height: 15px;
  line-height: 15px;
  text-align: center;
  vertical-align: middle;
  padding: 0;
  margin: 0;
  font-family: monospace;
  font-size: 10px;
  text-transform: uppercase;
  cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="hws-css-filter">
  <div class="hws-css-filter-tr">
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
  </div>
  <div class="hws-css-filter-tr">
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
  </div>
  <div class="hws-css-filter-tr">
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
  </div>
</div>

更新:选择未选择。

$('.hws-css-filter-td').click(function() {
  $(this).siblings().removeClass('selected');
  $(this).toggleClass('selected');
});
.hws-css-filter {
  display: table;
  margin: auto;
  vertical-align: middle;
}

.hws-css-filter-tr {
  display: table-row;
  padding: 0;
  margin: 0;
}

.hws-css-filter-td {
  display: table-cell;
  border: 1px solid #000;
  width: 15px;
  height: 15px;
  line-height: 15px;
  text-align: center;
  vertical-align: middle;
  padding: 0;
  margin: 0;
  font-family: monospace;
  font-size: 10px;
  text-transform: uppercase;
  cursor: pointer;
}

.selected {
  background-color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="hws-css-filter">
  <div class="hws-css-filter-tr">
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
  </div>
  <div class="hws-css-filter-tr">
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
  </div>
  <div class="hws-css-filter-tr">
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
    <div class="hws-css-filter-td"></div>
  </div>
</div>

UPDATED FIDDLE

关于javascript - 每行仅突出显示一个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36872975/

相关文章:

受 float div 影响的 jQuery 标题栏高度

javascript - Div 不会淡出 - Chrome 错误

html - 将部分并排对齐

html - 如何从在 Safari 中运行的 HTML 打开 IOS 上安装的其他应用程序

css - Logo ( float : left) & list (float: right) is not visible

javascript - 异步脚本改变dom后如何执行js代码?

javascript - Django 表单上的 TinyMCE

javascript - 使用 HTML 和 JavaScript 访问表单中的值时返回未定义

Javascript 删除对象属性不起作用

javascript - 使用核心javascript时ajax调用中的settimeout