1

次のコードがあります

<a href="#" class="chosenflag" data-flag="<?php echo $lang;?>"><img class="flag" src="/img/flag/United Kingdom.png" alt="" /></a>

<ul class="choices">
<li><a href="#" data-flag="uk"><img class="flag" src="/img/flag/United Kingdom.png" alt="" /></a></li>
<li><a href="#" data-flag="de"><img class="flag" src="/img/flag/Germany.png" alt="" /></a></li>
<li><a href="#" data-flag="es"><img class="flag" src="/img/flag/Spain.png" alt="" /></a></li>
<li><a href="#" data-flag="fr"><img class="flag" src="/img/flag/France.png" alt="" /></a></li>
<li><a href="#" data-flag="it"><img class="flag" src="/img/flag/Italy.png" alt="" /></a></li>
</ul>

クラス「chosenflag」とのリンクは、uk、de、es、fr、it のいずれかになる php 変数を取得するアクティブなフラグです。

私がやりたいことは、データフラグ属性に応じて、ul リストから選択されたフラグ img src に img src を取得することです。

誰かが私を助けることができますか?

4

2 に答える 2

1

フラグのいずれかをクリックすると、これが機能するはずです。選択したフラグ イメージ スポットにそのフラグ イメージを配置する必要があります。

$chosen = $('.chosenflag')
$('.choices').on('click', 'a', function () {
  // changes data-flag on .chosenflag
  var dataFlag = this.data('flag');
  $chosen.data('flag', dataFlag);
  // 'this' is the clicked on <a>
  var src = this.find('img').attr('src');
  $chosenImg = $chosen.find('img');
  $chosenImg.attr('src', src);
});

これがあなたが探しているものだと思います。

于 2012-11-07T13:03:41.383 に答える
1

選択されたフラグを取得するには、次のようにします。

var flag = $('a.chosenflag').data('flag');

特定の を持つリストsrcの要素の画像のを取得するには、次のようにします。adata-flag

var src = $('ul a[data-flag='+flag+'] img').attr('src');

デモンストレーション

于 2012-11-07T12:54:12.933 に答える