显然问题是在这个?或者如何为发生事件的元素执行函数?
function color() {
$(this).children().css('backgroundColor','red');
}
$('#one').click(function () {
color();
});
$('#two').click(function () {
color();
});
.item{
display: block;
height: 50px;
margin-bottom: 50px;
border: 1px solid #0C9A9A;
}
.item div{
display: block;
height: 100%;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="one" class="item">
<div></div>
</div>
<div id="two" class="item">
<div></div>
</div>
此代码中的问题是访问上下文。在您添加的示例中,
this它将undefined等于 该函数color被直接调用。您需要使用以下代码:上面还添加了一个不错的选项来将此函数作为回调传递。它通常是优选的。