如何覆盖jquery _blank?

时间:2016-07-27 15:52:58

标签: javascript jquery

我在使用PHP的页面中包含一个小部件。该小部件包括以下jQuery代码,它使所有链接在外部页面中打开。有没有办法覆盖或中和此代码,以便它不再影响页面上的所有链接?

理想情况下,我想将小部件包装在div中并指定要在_blank中打开的链接。

我是jQuery的新手,所以感谢您提供的任何帮助。

$(document).ready(function() {
  // change all links to open outside iframe
  $("a").each(function(index) {
    $(this).attr("rel", "external").attr("target","_blank");
  });
});

2 个答案:

答案 0 :(得分:1)

如果按照您的说法执行操作并将窗口小部件包装在这样的div中:

<div class="container">
    <!-- Your widget -->
</div>

您只能选择该容器内的链接:

$(".container a").each(function(index) {
    $(this).attr("rel", "external").attr("target","_blank");
});

.container a选择包含div的子元素(链接),并在其上运行您的函数。

答案 1 :(得分:0)

试试代码

$(window).ready(function() {
  $("a").each(function(index) {
    $(this).attr("rel", "external").attr("target","_blank");
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<a href="http://www.france24.com/en/tag/peace/">Peace of Paris</a>