0

この順序付けられていないリスト内のアイテムに Class または DIV の指定がない場合、%this.innerHTML% 表記を使用して、イベントベースのルールでクリックされたリンクを取得するにはどうすればよいでしょうか?

< div class="relatedCategories rowBottomSpace" >

    < strong class="header black short">Related Categories</strong>

    <ul>
      <li>
    <a href="/link1" rel="link 1">LINK 1</a>
        <span>|</span>
    </li>

      <li>
    <a href="/link2" rel="link 2">LINK 2</a>
        <span>|</span>
    </li>

      <li><a href="/link3" rel="link 3">LINK 3</a>
    </li>

  </div>
4

1 に答える 1

1

解決策 #1:セレクターを更新してより具体的にする

これは、上記のコメントで述べた解決策です。条件の要素タグまたはセレクターがのようなものであると仮定しますdiv.relatedCategories。その中のリンクを具体的にターゲットにするように変更するとdiv.relatedCategories a、クリックされたリンクが参照されます。

解決策 #2:カスタム条件とデータ要素を使用する

なんらかの理由で、元の上位レベルのセレクターを保持したいとしましょう: div.relatedCategories.

そのままにして、 [ルール条件] > [基準] で [データ] > [カスタム
] を 選択し、[基準の追加] をクリックします。

[カスタム コード] ボックスに、次を追加します。

var target = (event.target) ? event.target : event.srcElement;
_satellite.setVar('linkTarget',target);
return true;

linkTargetこれにより、クリックされたリンクへの html 要素オブジェクト参照を保持すると呼ばれるデータ要素が作成されます。そのため、 を使用する%linkTarget.innerHTML%か、代わりにカスタム コード ボックスに戻って に設定 linkTargettarget.innerHTML、 で参照することができます%linkTarget%

于 2015-02-09T22:36:29.750 に答える