原型JS找到跨度并替换文本

时间:2012-08-30 13:05:54

标签: javascript magento prototypejs

我正在努力使用这个原型。基本上我使用Magentogo并且它使用原型框架,在我的产品页面上有一个指向大小指南的链接,我需要做的是为此创建一个弹出模式,以便用户保留在页面上。

<span class="widget widget-cms-link"><a href="/size-guide" title="Size Guide">
  <span>Size Guide</span>
 </a>
</span>

我需要做的是找到span“widget widget-cms-link”,然后用我可以用来激活模态弹出窗口的按钮替换链接。我可以在JQuery中执行此操作,但它与Prototype冲突。有人有原型经验吗?

干杯

Ĵ

2 个答案:

答案 0 :(得分:0)

这会吗?

​$$('.widget.widget-cms-link').each(function(el) {
    el.down('a').replace(new Element('button', {
        'class' : 'widget-button'        
    }).observe('click', function() {
        alert('you clicked on me');
    }).update('Your New Button'));
})​;​

请记住,因为$$返回Enumerable,它可以返回多个,因此我使用的是each。如果您只想引用一个链接,请为其指定一个ID或确保页面上只有widget-cms-link

fiddle here

答案 1 :(得分:0)

如果您比原型更熟悉jQuery,那么您可以尝试使用noConflict模式,并运行您的jQuery函数。

只需在jQuery文件末尾添加jQuery.noConflict()(或将此代码插入单独的文件中,并将其包含在主jQuery文件之后)。

完成后,您应该能够使用jQuery,只需记住为jQuery函数使用关键字jQuery,而不是$