Javascript jQuery:将元素属性复制到同一元素的另一个属性

Javascript jQuery:将元素属性复制到同一元素的另一个属性,javascript,jquery,Javascript,Jquery,我有一个链接列表,都在同一个类中,每个链接都有一个自定义参数(“切换文本”)。我的脚本应该将自定义参数的文本复制到每个链接的文本中并替换它(“Pick A”应该变成“Pick A Please”) 它只需要一个链接就可以了,但是当我添加几个链接时,它们都会切换到第一个参数。(“请选择B”应替换为“请选择B”,但事实并非如此) 我可能可以使用each()来解决这个问题,但我最好是寻找一个简单的jQuery行来实现它,我很困惑,我还没有找到如何实现这一点 有人能帮忙吗?谢谢 <script s

我有一个链接列表,都在同一个类中,每个链接都有一个自定义参数(“切换文本”)。我的脚本应该将自定义参数的文本复制到每个链接的文本中并替换它(“Pick A”应该变成“Pick A Please”)

它只需要一个链接就可以了,但是当我添加几个链接时,它们都会切换到第一个参数。(“请选择B”应替换为“请选择B”,但事实并非如此)

我可能可以使用each()来解决这个问题,但我最好是寻找一个简单的jQuery行来实现它,我很困惑,我还没有找到如何实现这一点

有人能帮忙吗?谢谢

<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function() {
  $(".switcher").text( $(".switcher").attr("switch-text") );
});
</script>
<a href="a" class="switcher" switch-text="Pick A Please">Pick A</a><br>
<a href="b" class="switcher" switch-text="Pick B Please">Pick B</a><br>

$(文档).ready(函数(){
$(“.switcher”).text($(.switcher”).attr(“切换文本”);
});


您应该使用每个元素遍历所有元素,并使用它始终对当前元素执行操作

$(document).ready(function() {
  $(".switcher").each(function(){
    $(this).text( $(this).attr("switch-text") );
  });
});

不带jQuery 你需要:

代码:

并更改Dean的脚本以在document.ready上执行函数:

function init() {
  // ...
  // do stuff
  for ( var i = 0; i < readyList.length; i++ ) {
    if ( typeof readyList[i] === "function" ) {
      readyList[i]();
    }
  }
  //..
}
函数init(){
// ...
//做事
for(var i=0;i
就这样。您节省了大量带宽。:)



我建议您使用
.data()
而不是所谓的自定义参数,并且是
请选择一个
选择一个
,所有参数的模式相同?。。因为有一个更好的代码,如果是这样的话……我查看了.data()。不幸的是,如果不先安装jQuery插件,它就无法读取自定义标记,我正试图保持低带宽。没有任何模式,参数会有所不同,所以我无法优化,但感谢您指出这一点。谢谢。这是最简单的版本吗?难道没有一种方法可以把所有东西连在一条线上吗?我这样问是因为我会有很多类似的行,每个字节都会计数。如果每行都计数,有一个简单的版本:不要使用JQUERY
function init() {
  // ...
  // do stuff
  for ( var i = 0; i < readyList.length; i++ ) {
    if ( typeof readyList[i] === "function" ) {
      readyList[i]();
    }
  }
  //..
}