在 foreach 循环中使用时,Jquery 代码仅对第一个元素起作用

标签 jquery laravel

我正在尝试使用 Laravel 和 JQuery 创建一个程序,如果我单击图像名称,就会显示图像。但是,问题是使用 foreach 循环从数据库中检索图像的名称。通过这样做,只有第一个元素起作用。如何修复我的代码,以便在单击时我也能够访问其他元素?

<script>
    $("#theimage").hide();
    $("#nameofimages").on('click',function(){
       $("#theimage").toggle();
    });
</script>

@section('content')
    @foreach($images as $image)
        <p id="nameofimages">{{ $image->imagenames }}</p>
        <img id="theimage" src="/images/{{ $image->imagelocation }}">
    @endforeach
@endsection

最佳答案

只有第一个有效,因为您使用了 id 而不是 class。 id 只能引用 DOM 中的一个元素。

<script>
    $("#theimage").hide();
    $(".nameofimages").on('click',function(){
       $(".theimage").toggle();
    });
</script>

@section('content')
    @foreach($images as $image)
        <p class="nameofimages">{{ $image->imagenames }}</p>
        <img class="theimage" src="/images/{{ $image->imagelocation }}">
    @endforeach
@endsection

关于在 foreach 循环中使用时,Jquery 代码仅对第一个元素起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50961079/

相关文章:

javascript - Jquery Ajax 验证复选框

javascript - Jquery Show/Hide 在显示或隐藏之前将元素向右移动

laravel - 如何在 Laravel 中隐藏一个 block ?

laravel - C-Panel/VM/Laravel 错误 - 打开 "https://example.com"时,它会重定向到 "allowandgo.com/?p=gm3ggojwgq5gi3bphezda"这个 URL

javascript - jQuery 在所有附加的 .done/.fail 处理程序之后触发 .always 处理程序

javascript - 检索属性和字符串值,该字符串采用带有属性的标签格式

javascript - 在我的案例中如何禁用拖动功能?

mysql - 为什么数据库中不存在该表

laravel 随机调度命令

laravel SAML 获取 NameId 值