Ajax"移动中"形成。单击一个字段以向db发送ajax请求。如果成功 - 我想改变"黑暗"的CSS类。 这是HTML代码:
<div class="row">
<div class="col-sm-3 dark">Gender</div>
<div style="" class="col-sm-3"><input type="radio" name="gender" value="m"> Male</div>
<div class="col-sm-3"><input type="radio" name="gender" value="f"> Female</div>
<div class="col-sm-3"></div>
</div>
逻辑是:当点击输入(任何)时(收到ajax响应) - 找到输入的父类ROW并改变css(让我们说 - &#34;颜色:绿色;&#34;)行&#34;黑暗&#34;)类。
尝试了
$(this).closest(".dark").css('color', 'green');
没有运气
答案 0 :(得分:1)
暗div 不是您的单选按钮的直接祖先。您需要将其更改为:
$(this).closest(".row").find(".dark")
由于您在ajax调用的成功函数中使用此值,因此无法直接使用此关键字,但您必须在使用后保存该值。
您可以考虑使用更改事件,而不是点击事件。
一个例子:
$(':radio').on('change', function(e) {
var row = $(this).closest(".row").find(".dark");
var a = $.getJSON('https://api.github.com/repositories?since=364', function(data, textStatus, jqXHR ) {
row.css('color', 'green');
})
})
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class="row">
<div class="col-sm-3 dark">Gender</div>
<div style="" class="col-sm-3"><input type="radio" name="gender" value="m"> Male</div>
<div class="col-sm-3"><input type="radio" name="gender" value="f"> Female</div>
<div class="col-sm-3"></div>
</div>