现在的情况是一个日志展示评论界面,我需要实现的是点击评论之后的回复俩字,就会把div 的 display 属性由none 改为 block,我在写前端界面的时候,只有一条,情况都是正常的,但是我循环了数据库的评论信息之后,只有第一个回复可以点击向下撑开评论编辑区,但是取消和回复功能都不对,都是submit,因该是js没有起作用。另外,其他的评论后回复这俩字点击都没有反应!目前推测问题大概js的问题,要循环还是咋的?求指教~
页面元素的id应该是唯一的,id不要重复,重复的id用document.getElementById()或jquery的$("#id") 获取时,只能获取到第一个。
要获取多个元素时,应该用元素的class,并用getElementsByClassName()或jquery的$(".class")获取。
那还需要循环嘛?还是直接用一次byclass就可以了
给你个例子
6
<script type="text/javascript" src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$(".reply").click(function(event){
$(this).closest(".read_pl").find(".edit").show();
});
$(".reply1").click(function(event){
$(this).closest(".read_pl").find(".edit").hide();
});
});
</script>
<div class="read_pl">
<div>XXXXXXXXXXXX <span class="reply">回复</span></div>
<form >
<div class="edit" style="display: none;">
<textarea></textarea><br />
<button type="button" class="reply1">取消</button>
<!-- button标签要设置type="button"才不会提交表单 -->
</div>
</form>
</div>
<div class="read_pl">
<div>XXXXXXXXXXXX <span class="reply">回复</span></div>
<form >
<div class="edit" style="display: none;">
<textarea></textarea><br />
<button type="button" class="reply1">取消</button>
<!-- button标签要设置type="button"才不会提交表单 -->
</div>
</form>
</div>
<div class="read_pl">
<div>XXXXXXXXXXXX <span class="reply">回复</span></div>
<form >
<div class="edit" style="display: none;">
<textarea></textarea><br />
<button type="button" class="reply1">取消</button>
<!-- button标签要设置type="button"才不会提交表单 -->
</div>
</form>
</div>
用jquery不需要循环,原生js用getElementsByClassName就需要循环了
嗯,的确显示的问题解决了,又出现了新的问题,我再开一个帖子