Переменную в getElementById("text-id")

Тема в разделе "JavaScript", создана пользователем leon111221, 12 авг 2017.

Модераторы: ZiX
  1. leon111221

    leon111221 Постоялец

    Регистр.:
    5 сен 2015
    Сообщения:
    100
    Симпатии:
    93
    Здравствуйте знатоки, есть такой код
    Код:
    function getNextNoveltyPage($name, url) {
        var $novelty_block = '.row.product_' + $name;
        var $load_more = '.load_more_' + $name;
        if (waiting) return;
        // if (pages_count >= pages.length) return;
        waiting = true;
        old_load_more = $($load_more).html();
        $($load_more).html('ЗАГРУЗКА');
    
        $.ajax({
            url:url,
            type:"GET",
            data:'',
            success:function (data) {
               
                document.getElementById("text-id").remove();
                console.log("ajax success!");
                $data = $(data);
                $($load_more).html(old_load_more);
                if ($data) {
                    if ($data.find($novelty_block).length > 0)    {
                        $($load_more).parent().before($data.find($novelty_block));
                    }
                }
               
               
                waiting = false;
            }
        });
    }
    Так же есть
    Код:
    <ul id="<?php echo $limit3; ?>"> Тут контент</ul>
    Нужно сделать так, что бы эта строчка:
    Код:
    document.getElementById("text-id").remove();
    реагировала на id="" с переменной $limit3 из php


    Как это реализовать?
     
  2. Absolute

    Absolute Крокодил ;)

    Регистр.:
    9 авг 2009
    Сообщения:
    397
    Симпатии:
    210
    Код:
    <ul id="<?php echo $limit3; ?>"> Тут контент</ul>
    Это в единичном экземпляре на странице? Или в зависимости от контекста вызова getNextNoveltyPage() нужно удалять тот или иной элемент с id, полученным из <?php echo $limit3; ?>??
     
  3. leon111221

    leon111221 Постоялец

    Регистр.:
    5 сен 2015
    Сообщения:
    100
    Симпатии:
    93
    Элемента 2, то есть id="1" и id="2"
     
  4. machoman

    machoman Создатель

    Регистр.:
    31 янв 2007
    Сообщения:
    39
    Симпатии:
    5
    Самое простое, это задать общий класс или id для нужного элемента. То есть:

    Код:
    <ul id="<?php echo $limit3; ?>" class="myselector"> Тут контент</ul>
    И обрабатывать уже по нему все элементы с классом:

    Код:
    function getNextNoveltyPage($name, url) {
        var $novelty_block = '.row.product_' + $name;
        var $load_more = '.load_more_' + $name;
        if (waiting) return;
        // if (pages_count >= pages.length) return;
        waiting = true;
        old_load_more = $($load_more).html();
        $($load_more).html('ЗАГРУЗКА');
    
        $.ajax({
            url:url,
            type:"GET",
            data:'',
            success:function (data) {
               
                $(".myselector").remove();
                console.log("ajax success!");
                $data = $(data);
                $($load_more).html(old_load_more);
                if ($data) {
                    if ($data.find($novelty_block).length > 0)    {
                        $($load_more).parent().before($data.find($novelty_block));
                    }
                }
               
               
                waiting = false;
            }
        });
    }
    Из вопроса непонятно, должна ли функция getNextNoveltyPage() срабатывать на каком-то определенном id. Если да, то при каких условиях вызывается getNextNoveltyPage(). Если в цикле, то можно что-то вроде
    Код:
    ++$i
    сделать и получится
    Код:
    $("ul#"+$i).remove();
    Если при клике, то какие атрибуты имеет ссылка/кнопка.
     
  5. leon111221

    leon111221 Постоялец

    Регистр.:
    5 сен 2015
    Сообщения:
    100
    Симпатии:
    93
    Спасибо тем кто откликнулся, решил следующим образом:
    Код:
    document.getElementById("small-<?php echo $limit3; ?>").remove();
    Вот этот кусок вставил в скрипт, который идет после каждого блока. Не знал, что в js можно так переменную вставлять