【问题标题】:JQuery select row in table, change css in div in this rowJQuery在表中选择行,在该行中更改div中的css
【发布时间】:2018-07-07 23:52:10
【问题描述】:

我有一个表格,里面有一些行和列,一些单元格里面有 div 元素。我想在单击的行中更改 div 类。另外,当我再次单击该行或单击另一行时,我需要删除此类。我尝试创建jQuery 脚本,但没有成功。一旦我更改了表中的每个 div,第二次尝试它什么都不做。我最后一个“错误”的 jquery 版本是:

jQuery(document).on("click", "tr.line > td", function () {
    var $this = jQuery(this);


    if jQuery.find("div").hasClass('zna')) {
        jQuery.find("div").removeClass("zna");
    }
    else {

        jQuery.find("div").removeClass("zna");
        jQuery.find("div").addClass("zna");
    }
});

有人可以帮忙吗?

【问题讨论】:

  • if jQuery.find("div").hasClass('zna')) 是语法错误。为什么要删除一个类,然后在 else 案例中再次添加它? jQuery.findSizzle 的别名。你确定你不想在一个 jQuery 对象上使用find 方法,该对象从它获取 context,比如jQuery(someSelector).find?你真的想定位 same <div> 吗? jQuery.find 返回一个 Array,它没有您正在使用的任何类方法。使用browser console (dev tools)(点击F12)并阅读任何错误。

标签: jquery css select row


【解决方案1】:

我不知道你到底是什么意思,但这可能对你有帮助

jQuery(document).ready(function() {
  $("section").on("click", function() { //example click handler
    if ( $(this).find("div").hasClass("zna") ) {
      $("div").toggleClass("zna");
    } else {
      $("div").toggleClass("zna");
    }
  });
});
section {
  width:75px
  height:50px;
  padding:5px;
  border:1px solid;
  cursor:pointer;
}

.test {
  width:50px;
  height:50px;
  background:green;
  display:inline-block;
}

.test.zna {
  background:red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<section>click me
  <div class="test"></div>
  <div class="test"></div>
  <div class="test zna"></div>
  <div class="test"></div>
</section>

【讨论】:

  • 是的,这就是我需要的,但我需要将它应用于表中的一行(在行中的子项上)Thx :-)
【解决方案2】:

我认为我们可能需要从您的表格中查看您的标记以确定,但乍一看,您的 if 评估缺少一个左括号...可能还有其他问题,但这只是我的第一个想法。 if 语句需要 open 和 closed() 用于评估参数。

jQuery(document).on("click", "tr.line > td", function () {
var $this = jQuery(this);


if (jQuery.find("div").hasClass('zna')) {
    jQuery.find("div").removeClass("zna");
}
else {

    jQuery.find("div").removeClass("zna");
    jQuery.find("div").addClass("zna");
}

【讨论】:

    猜你喜欢
    • 2010-10-12
    • 2012-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    • 2016-07-09
    • 1970-01-01
    相关资源
    最近更新 更多