0

私は自分の問題の問題を見つけましたが、これに対する解決策を見つけることができません。

さて、私は以下のように2つの形式のコードを取ることができる「カートに追加」ボタンを持っています:

CODE 1:
<div class="cart">
    <a class="button" onclick="addToCart('710'); _gaq.push(['_trackEvent', 'Category Page', 'Add to Cart', 'Large Dual Fitting Pluto Metal Lighting Pendant Shades - Green']);">
        <span>Add to Basket</span>
    </a>
</div>

CODE 2:
<div class="cart">
    <a class="button" onclick="addToCart('710');">
        <span>Add to Basket</span>
    </a>
</div>

関数addToCart()が定義された別のcommon.jsファイルがあります。私が問題にしている特定のコードはこれです:

if (json['success']) {  
    html = '<div class="popup-cart-info"><div class="popup-close"><a alt="Close &amp; Continue" onclick="closeCart();" title="Close &amp; Continue" ><img src="catalog/view/javascript/jquery/fancybox/fancy_close.png"></a></div>';
    MainImg = $('a[onclick="addToCart(\'' + product_id + '\');"]').parents().find('.image a img');
    AltImg = $('a[onclick="addToCart(\'' + product_id + '\');"]').parent().parent().parent().find('.left .image a img');
    if(MainImg.length) {
        html += '<div class="cart-box-img"><img style="width:150px;" src="' + MainImg.attr('src') + '" /></div>';
    } else if(AltImg.length) {
        html += '<div class="cart-box-img"><img style="width:150px;" src="' + AltImg.attr('src') + '" /></div>';
    } else {
        html += '<div class="cart-box-img"><img style="width:130px;" src="image/no_image1.jpg" title="Image Unavailable" alt="Image Unavailable" /></div>';
    }
    html += '<div class="cart-box-succ-det">' + json['success'] + '</div>';
}

MainImgが割り当てられているビットは、CODE2では機能するようですが、CODE1では機能しないようです。2つの違いは、_gaq.push()関数だけです。FirefoxでFireBugを使用し、_gaq.push()関数を削除すると、うまく機能しているようです。私がやろうとしているのは、カートに追加された製品の画像ソースを渡すことだけです。ただし、隣にもう1つの機能がある場合は、機能しません。

私の質問は、onclickイベントで2つの関数が定義されている場合でも、parents()関数を使用してタグを選択するにはどうすればよいですか。

私が達成しようとしていることはhttp://bit.ly/YEW2f2で見ることができます。画像は「新着」では取得されますが、「注目商品」では取得されません。

どんな助けでも大歓迎です。見てくれてありがとう。よろしく、カーシック

4

2 に答える 2

0

これを試すことができます:[onclick = ...]の代わりにhttp://api.jquery.com/attribute-starts-with-selector/

于 2013-03-17T02:08:59.130 に答える
0

セレクター

a[onclick="addToCart('170');]

もちろん一致しません

<a class="button" onclick="addToCart('710'); _gaq.push(['_trackEvent', 'Cat ...

onclick属性には正確なテキストは含まれていませんがa[onclick="addToCart('170');]、それ以上のテキストが含まれているためです。

コンテンツが指定されたテキストで始まる^=ときに属性を選択するには、の代わりに比較「演算子」を使用します=

于 2013-03-17T02:10:59.833 に答える