Как определить, существует ли элемент html-страницы с помощью кода шаблона RRS RoR? - PullRequest
0 голосов
/ 20 марта 2009

Я пробовал несколько способов, но все терпят неудачу.

Ответы [ 4 ]

3 голосов
/ 21 марта 2009

Как упоминалось в dbarker, вы можете использовать page['theElementID'], чтобы проверить, существует ли определенный элемент HTML на основе его идентификатора.

Если ваш целевой элемент не имеет атрибута ID, вы также можете проверить его с помощью селектора CSS, включая имена классов. Например:

if page.select('div.comment').any?
    # Logic here if there is at least one comment
else
    # Logic for no comments
end

Документация по page.select: http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper/JavaScriptGenerator/GeneratorMethods.html#M001632

0 голосов
/ 21 мая 2012

На самом деле, я не мог получить

    if page[:element]
        # code here
    end

на работу. Вместо этого я использовал

    page << "if( $('element') ) {"
        # code here
    page << "}"
0 голосов
/ 21 марта 2009

Вы можете использовать то, что сказал dbarker так:

 if page['theElementId'].nil?
       # then have you logic here if the element does not exist
 else
       # if the element does exist
 end
0 голосов
/ 20 марта 2009

Вы можете использовать метод [] JavascriptGenerator, чтобы найти такой элемент:

page['theElementId']

Вот ссылка на детали:

Модуль ActionView :: Helpers :: PrototypeHelper :: JavaScriptGenerator :: GeneratorMethods

...