Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 具有动态id的jquery open div_Javascript_Php_Jquery_Html - Fatal编程技术网

Javascript 具有动态id的jquery open div

Javascript 具有动态id的jquery open div,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我想使用jQuery打开和关闭一个div。 但是因为我使用的代码是动态的,并且会在每个代码下面重复,所以我需要使用动态id HTML: 您可以在Javascript中不使用PHP $(document).ready(function() { $('.showcategoryratings').click(function() { var categoryId = $(this).attr('id').split('-')[1]; $('.category

我想使用jQuery打开和关闭一个div。 但是因为我使用的代码是动态的,并且会在每个代码下面重复,所以我需要使用动态id

HTML:


您可以在Javascript中不使用PHP

$(document).ready(function() {
    $('.showcategoryratings').click(function() {
        var categoryId = $(this).attr('id').split('-')[1];

        $('.categoryratings-review-'+categoryId).slideToggle("fast");
        $(this).toggleClass('active');
    });
});

我认为它是有效的。

如果您将元素按如下方式分组,会更容易。这样做,您根本不需要
ID
s。看一看

$(文档).ready(函数(){
$('.showcategoryratings')。打开(“单击”,函数(){
$(this).closest(“.group”).find(“.categoryratings review”).slideToggle(“fast”);
$(this.toggleClass('active');
});
});

文本1

按类别1 文本2

按类别2 文本3

每类3
您可以连接所有以
review-
开头的id进行响应

 $('[id^="review-"]').click(function() {

    $( '.categoryratings-' + $(this).attr('id') ).slideToggle('fast') ;

    $( this ).toggleClass('active');

 });

您需要将JS代码放在PHP呈现的HTML中,而不是放在外部文件中。
$(document).ready(function() {
    $('.showcategoryratings').click(function() {
        var categoryId = $(this).attr('id').split('-')[1];

        $('.categoryratings-review-'+categoryId).slideToggle("fast");
        $(this).toggleClass('active');
    });
});
 $('[id^="review-"]').click(function() {

    $( '.categoryratings-' + $(this).attr('id') ).slideToggle('fast') ;

    $( this ).toggleClass('active');

 });