0

我正在使用 magento go (SaaS) 商店,需要删除 onclick、插入 rel="lightbox" 以及将 href="#" 更改为 img src url。任何帮助表示赞赏。javascript 或 jQuery 可以做到这一点吗?我只能玩javascript,因为我无法访问应用程序代码。

<div class="more-views">
<h2>More Views</h2>
<ul>
  <li>
    <a href="#" onclick="popWin('http://101pareos.com.au/catalog/product/gallery/id/49/image/81/', 'gallery', 'width=300,height=300,left=0,top=0,location=no,status=yes,scrollbars=yes,resizable=yes'); return false;" title="Image 1">
                        <img src="http://s4f7e756057ed2.img.gostorego.com/802754/cdn/media/s4/f7/e7/56/05/7e/d2/catalog/product/cache/1/thumbnail/48x/9df78eab33525d08d6e5fb8d27136e95/b016.jpg" width="48" height="48" alt="Image 1" />
                    </a>
    </li>          
</div>

提前谢谢各位!

瑞安

4

1 回答 1

1

瞧:

$('.more-views a').each(function() {
    var $this = $(this);
    var image = $this.find('img');

    $this.attr({
        onclick: null,
        href: image.attr('src'),
        rel: 'lightbox'
    });
});

编辑:要提取 URL,您所要做的就是:

jQuery('.more-views a').each(function() {
    var $this = jQuery(this);

    $this.attr({
        onclick: null,
        href: /'(.+?)'/.exec($this.attr('onclick'))[1],
        rel: 'lightbox'
    });
});

编辑:要提取图像,它有点(好吧,很多)更复杂。

jQuery('.more-views a').each(function() {
    var $this = jQuery(this);

    jQuery.ajax({
        url: /'(.+?)'/.exec($this.attr('onclick'))[1],
        type: 'GET',
        dataType: 'text',
        success: function(data) {
            // Extract the image from the HTML:
            var url = /img src="(.+?)"/.exec(data)[1];

            // Set the new href, remove the old onclick handler, and make it a lightbox:
            $this.attr({
                onclick: null,
                href: url,
                rel: 'lightbox'
            });
        }
    });
});
于 2012-04-13T04:17:05.447 回答