javascript - 显示每个具有唯一 id 的 div

标签 javascript php jquery

我正在制作一个带有评论的照片库,但我被困在每张图像的评论按钮中。

html 结构类似于:

<form>
    <div>
        // some buttons - options
        <a id="show_' . $row['img_id'] . '" class="">Comment</a>
    </div>
    // the div hidding the comments section
    <div id="hide_' . $row['img_id'] . '" class=""></div>
</form>

单个 div 一切正常,但问题是在 foreach 打印图像内部,所以我不确定如何告诉(或在哪里)jscript 读取该 img_id。我正在使用 jquery 来切换 div:

在表单之前的代码中(仍在 foreach 中):

<script type="text/javascript">
    var img_id = ' . json_encode($img_id) . ';
</script>

和 javascript/jquery:

$(function() {  
    $('#show_'+img_id).on('click', function() {
        $('#hide_'+img_id).slideToggle('fast');
    });
});

工作正常,问题是只有最后一个 id 有效(只有最后一个图像的按钮显示评论部分)。

我很确定问题出在 javascript 变量上,因为只有最后一个有效。

提前致谢!

最佳答案

按以下方式使用html5数据属性并使用class选择器:

<a id="show_' . $row['img_id'] . '" data-id="' . $row['img_id'] . '" class="show">

在 jquery 中:

$(function() {  
    $('.show').on('click', function() {
        $('#hide_'+$(this).data("id")).slideToggle('fast');
    });
});

$(this).data("id") 将给出当前点击元素 data-id 属性值,并将其连接到 #hide_ 选择器隐藏相关元素。

关于javascript - 显示每个具有唯一 id 的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26505670/

相关文章:

php - SQL参数警告

php - PayPal 沙盒 IPN 验证总是返回 INVALID

javascript - 使用纯 Javascript 使用来自 API 的 JSON 数据创建表

javascript - 事件状态仅对第一次访问不起作用

javascript - <Select> 下拉菜单顺序不正确

javascript - 如何对多个元素使用一个函数?

php - 删除特定表 DOMXPath

javascript - 对表数据进行排序

javascript - 如何使用 javascript 检查复选框是否已选中或未选中?

javascript - 如何隐藏单个选择的jquery搜索?