繁体   English   中英

更新父元素jQuery的类

[英]Updating class of parent element jquery

我正在尝试更新选择器的父CSS类。 这是我的代码表

<div class="container">
    <table class="table table-hover">
    <tr class="table-default">
        <td><input type="checkbox" id="driver[0]" value="log.example.com"></td>
        <td>log.example.com</td>
    </tr>
    <tr class="table-default">
        <td><input type="checkbox" id="driver[1]" value="api.example1.com"></td>
        <td>api.example1.com</td>
    </tr>
    <tr class="table-default">
        <td><input type="checkbox" id="driver[2]" value="mail.example.com"></td>
        <td>mail.example.com</td>
    </tr>
    </table>
</div>

这就是我用来检查布尔条件的内容

$(document).ready(function() {
  $("input[type='checkbox']").click(function(event){
    if($(this).is(':checked')){
      var domain = $(this).val();
      //alert(domain);
      $.getJSON('call.php?submit=submit&domain='+domain, function (data) {
        var result = data.is_vuln;
        console.log(result);
        if(result == "true"){
            console.log("line executed"); // Executes
            $(this).parent().parent().addClass("table-success");
        }
      });
    }
  });
});

我正在尝试完成以下操作,如果通过json返回的布尔条件为true ,则应将行的类更改为table-success

但是我在这里没有运气。 除了从json返回truefalse之外,控制台中什么都没有发生。

看起来您的getJSON函数中的this变量已更改范围。 尝试结合this到$ .getJSON函数,就像这样:

  $.getJSON('call.php?submit=submit&domain='+domain, function (data) {
    var result = data.is_vuln;
    console.log(result);
    if(result == "true"){
        $(this).parent().parent().addClass("table-success");
    }
  }.bind(this));

this范围将在ajax调用范围中更改。 您可以设置this一个变量,并且可以使用如下:

$(document).ready(function() {
    $("input[type='checkbox']").click(function(event){
        if($(this).is(':checked')){
            var domain = $(this).val();
            var checkEle = $(this);
            $.getJSON('call.php?submit=submit&domain='+domain, function (data) {
                var result = data.is_vuln;
                console.log(result);
                if(result == "true"){
                    console.log("line executed"); // Executes
                    checkEle.parent().parent().addClass("table-success").removeClass("table-default");
                }
           });
        }
   });
});

希望对您有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM