使用原型添加或删除类

无法在PROTOTYPE脚本中添加或删除基于click函数的img元素的“已选择”的css类名称(已经为Jquery做过)但它必须在Prototype中。 它让我疯狂。 不能让它适用于原型….

我原来的代码是(Magento商店)

__('Community Poll') ?>
<form id="pollForm" action="" method="post" onsubmit="return validatePollAnswerIsSelected();">

htmlEscape($poll->getPollTitle()); ?>

  • <input type="radio" name="vote" style ="display:none;" class="radio poll_vote" id="vote_getId() ?>" value="getAnswerId() ?>" /> getAnswerTitle(); $stripped_final = str_replace(" ", "_", strtolower($stripped)); //Value (simplified) ?> <label for="vote_getId() ?>"><img src="http://www.passione.pt/media/poll/.png" id="chooser" class="chooser" alt="htmlEscape($answer->getAnswerTitle()) ?>" onClick="document.getElementById('vote_getId() ?>').checked =true;"/>
decorateList('poll-answers');
<button type="submit" title="__('Vote') ?>" class="button">__('Vote') ?>

对于Jquery。

你可以改造原型1.7 ……?

   var Chooser = $('#poll-answers img'); Chooser.click(function() { $('.chooser').removeClass('selected'); if(!Chooser.hasClass('selected')) { $(this).addClass('selected'); } else { $(this).removeClass('selected'); } });  

该点击处理程序的原型版本(未经测试):

 $('poll-answers').on('click', 'img', function(event, element) { $$('.chooser').invoke('removeClassName', 'selected'); element.toggleClassName('selected'); }); 

编辑:根据@ Victor的建议更改为toggleClassName 。 对他来说+7分,并且感谢@Geek Num从each那里得到。 他得到+7分,剩下1分给我。