jquery获取属性

时间:2012-11-07 12:52:55

标签: jquery css

我有以下代码

<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>

带有'selectedflag'类的链接是一个活动标志,它接收一个php变量,它将是uk,de,es,fr,it。

我想要发生的是以某种方式将img src从ul列表中获取到所选标志img src,具体取决于data-flag属性。

有人能帮助我吗?

2 个答案:

答案 0 :(得分:1)

要获得所选标志,请执行

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

要使列表的src元素中的a图片data-flag具有某个var src = $('ul a[data-flag='+flag+'] img').attr('src'); ,请执行

{{1}}

Demonstration

答案 1 :(得分: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);
});

我认为这就是你要找的东西。