2009-03-20 6 views

Répondre

-1

Vous pouvez utiliser le [] méthode du JavascriptGenerator pour trouver un élément comme celui-ci:

page['theElementId'] 

Voici un lien vers les détails:

Module ActionView::Helpers::PrototypeHelper::JavaScriptGenerator::GeneratorMethods

+0

Uhmm ... l'avez-vous essayé ??? Que se passe-t-il si l'élément n'est pas là? Ce que vous avez décrit est un moyen de sélectionner l'élément ... Je cherche un moyen de détecter l'existence. La documentation en ligne n'est pas très claire. – fooledbyprimes

-1

Vous pouvez utiliser ce que dbarker dit comme ceci:

if page['theElementId'].nil? 
     # then have you logic here if the element does not exist 
else 
     # if the element does exist 
end 
3

Comme dbarker mentionné , vous pouvez utiliser page['theElementID'] pour tester si un élément HTML spécifique existe en fonction de son ID.

Si votre élément cible n'a pas d'attribut ID, vous pouvez également le vérifier avec un sélecteur CSS, y compris les noms de classe. Par exemple:

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

Documentation sur page.select: http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper/JavaScriptGenerator/GeneratorMethods.html#M001632

0

En fait, je ne pouvais pas obtenir le

if page[:element] 
     # code here 
    end 

à travailler. Au lieu de cela, j'ai fini par utiliser

page << "if($('element')) {" 
     # code here 
    page << "}" 
Questions connexes