【发布时间】:2017-04-13 11:21:02
【问题描述】:
每个 h5 元素内都有一个编辑按钮,如果我单击此按钮,它将隐藏类名“不可编辑”的 div,并显示类名“可编辑”的 div。
我编写的代码只有在我有一个容器时才能完美运行,但如果我添加另一个容器并尝试单击编辑按钮,它将更新相应容器的两个 div。
这是我附上上述功能的代码。
只需尝试单击“编辑”,它将更新两个 div,我正在寻找的是,仅更新我单击编辑按钮的相应 div,而不是所有 div [基于“this”值它会更新 div,我尝试使用 'this' 但不知道为什么它不起作用,如果可能的话尝试解释为什么我的代码不起作用,因为我是 JavaScript 的新手。]。
希望您能理解并提前感谢您的帮助。
$('.edit_toggle').click(function(e){
e.preventDefault();
var noEdit = $('.not-editable');
var edit = $('.editable');
if($(this).find(noEdit)){
$(noEdit).fadeOut();
$(edit).fadeIn();
}
});
.not-editable{
display: block;
}
.editable{
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container-1">
<h5>
header
<a href="#" class="edit_toggle">edit</a>
</h5>
<div class="not-editable">
Lorem
</div>
<div class="editable">
Lorem 123
</div>
</div>
<div class="container-1">
<h5>
another header
<a href="#" class="edit_toggle">edit</a>
</h5>
<div class="row not-editable">
another Lorem
</div>
<div class="row editable">
another Lorem 123
</div>
</div>
【问题讨论】:
标签: javascript jquery