更改div中的所有Anchor href链接

时间:2018-02-07 12:00:09

标签: javascript jquery html css

我尝试使用jQuery更改所有html anchor href链接,但它无法正常工作。当我点击按钮时,它会选择第一个链接并在任何地方替换。



var link = $('#content a[href]');

$("button").click(function() {
  var lin = $("#content a").attr('href');
  var rep = "http://example.com/?redirect=";
  $("#content a[href]").attr("href", rep + "" + $("#content a").attr('href'));
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="content">
  <a href="http://google.com">Google</a>
  <a href="http://fb.com">Facebook</a>
</div>
<button>Click</button>
<div class="p"></div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:2)

您正在使用$("#content a").attr('href')替换href ...它会找到第一个匹配并替换为所有

您必须使用each()查找所有链接,然后使用$(this).attr('href')来区分

Stack Snippet

$(document).ready(function() {
  $("button").click(function() {
    var rep = "http://example.com/?redirect=";
    $("#content a[href]").each(function() {
      $(this).attr("href", rep + "" + $(this).attr('href'));
    })
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="content">
  <a href="http://google.com">Google</a>
  <a href="http://fb.com">Facebook</a>
</div>
<button>Click</button>
<div class="p"></div>