Использование переменных в «Выполнить Javascript На Элементе»



  • Добрый вечер. Не могу разобраться как использовать ранее объявленные переменные внутри «Выполнить Javascript На Элементе»

    Например хочу вернуть 1 или 0
    Делаю что-то вроде [[SOME_LIST]].length == self.querySelectorAll('.thumb_wrap').length ? 1 : 0;

    Однако так не работает.

    Пробовал смотреть что возвращает по отдельности каждая сторона выражения ([[SOME_LIST]].length и self.querySelectorAll('.thumb_wrap').length)

    self.querySelectorAll('.thumb_wrap').length возвращает как и нужно кол-во элементов с указанным классом

    А вот [[SOME_LIST]].length возвращает пустую строку, как я понял — исключение. Судя по всему это из-за того что тип установлен string. Если ставлю тип expression, то возвращается нужное число. Но в случае когда ставишь expression становится недоступна переменная self.

    Как мне использовать переменные вида [[SOME_LIST]] в инструменте «Выполнить Javascript На Элементе» так чтобы они работали?



  • Я так понимаю это ты в if выставляешь условие?

    [[SOME_LIST]].length == self.querySelectorAll('.thumb_wrap').length
    

    Попробуй сделать в 3 блока, сперва

    VAR_VARIABLE_1 = (VAR_SOME_LIST).length
    

    потом

    VAR_VARIABLE_2 = (VAR_SELF).querySelectorAll
    

    а затем уже сравнение

    [[VARIABLE_1]] == [[VARIABLE_2]]
    

    Если делаешь Javascript на элементе, то сравниваешь уже полученный результат из переменной

    [[VARIABLE_1]] == [[SAVED_SCRIPT_RESULT]]
    

  • administrators

    @dobry.op Внутри Выполнить Javascript На Элементе переменные могут быть использованы только для чтения, но не для записи.
    Так что получаете количество элементов в переменную, потом через Выполнить код изменяете длину списка.

    0_1493408090565_changelistsize.xml


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.