我正在为我的网页创建一个评论系统。 该网站显示了数据库中的一组元素,每个人都可以评论:
元素 1 ($element_id=1)-> 阅读评论...
元素 2 ($element_id=2)-> 阅读评论...
元素 3 ($element_id=3)-> 阅读评论...
当有人想阅读某个元素的评论时,可以点击“阅读评论...”,然后打开一个新的 div:
<div class="comments_more" id="comments_more"> Read comments...
<div class="comments_div" id="comments_div" >
<?php include/comments.php ?>
<?php echo $element_id; ?>
</div> </div>
打开 div 的 jquery 代码适用于每个元素:
$(document).ready(function(){
$( '.comments_more' ).click(function() {
$(this).find( '#comments_div' ).show('slide');
});
})
现在,我找到了一个很好的 jquery,可以在用户点击 div 外部时关闭 div:
$(document).mouseup(function (e){
var container = $("#comments_div");
if (!container.is(e.target) // if the target of the click isn't the container...
&& container.has(e.target).length === 0) // ... nor a descendant of the container
{ container.hide(); }
});
问题是它仅适用于第一个“阅读评论...”(第一个元素)。
最佳答案
一个页面上不能有多个 ID,请尝试使用类作为选择器,例如:
$(".comments_div")
关于javascript - 使用jquery打开和关闭div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43228453/