这是最好的隐藏通过CSS类的元素。如果你这样做,你可以任何你想要的方式隐藏它。随着display:none
,position:absolute; left:-10000px;
(不推荐),visibility:hidden
...
如果直接操纵内嵌样式其他答案建议,您的布局将取决于JavaScript的,这是坏在我看来。我认为最好是JavaScript处理逻辑和CSS处理样式。
这与reply-cm
类的所有元素代码搜索,发现里面他们与js-hide
类所有元素。然后,它将一个click
事件监听器添加到所有js-hide
元素中,在这些元素中它们隐藏其各自的reply-cm
元素。
function bindHide(target, trigger) {
trigger.addEventListener("click", function() {
target.classList.add("is-hidden");
});
}
function bindHideEvents() {
var replies = document.getElementsByClassName("reply-cm");
for (var i = 0; i < replies.length; i++) {
var buttons = replies[i].getElementsByClassName("js-hide");
for (var i2 = 0; i2 < buttons.length; i2++) {
bindHide(replies[i], buttons[i]);
}
}
}
bindHideEvents();
.is-hidden {
display: none;
}
<div class="reply-cm">
<textarea id="text6" class="reply" name="reply" placeholder="Type Your Reply Here"></textarea>
<button onclick="reply(6)" class="btn">Reply</button>
<div id="reply6">
<div class="replyes">
<span class="rp-r js-hide">Hide</span>
</div>
</div>
</div>
下面是与jQuery一个解决方案:
$(".js-hide").click(function (e) {
$(this).closest(".reply-cm").addClass("is-hidden");
});
.is-hidden {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="reply-cm">
<textarea id="text6" class="reply" name="reply" placeholder="Type Your Reply Here"></textarea>
<button onclick="reply(6)" class="btn">Reply</button>
<div id="reply6">
<div class="replyes">
<span class="rp-r js-hide">Hide</span>
</div>
</div>
</div>
不行,我得在PHP中环和我有更多的一个有这个类,我需要使用选择。 –
纯粹的代码写入请求是关于堆栈溢出的话题 - 我们期望 这里的问题与*特定的*编程问题有关 - 但我们 会很高兴地帮助你自己编写它!告诉我们 [你试过的东西](https://stackoverflow.com/help/how-to-ask),以及你卡在哪里。 这也将帮助我们更好地回答你的问题。 – glennsl