动态设置锚点目标

时间:2016-05-18 18:39:14

标签: jquery html

我正在使用一个WordPress主题,其中包含一个小部件,用于将社交媒体链接添加到侧边栏/标题等。

所有社交链接都包含在一个div中,该div包含一个唯一的类social-links

我想将target="_blank"添加到social-links div中的所有锚点。

基本上,<a href="facebook.com">Facebook</a>会更改为<a href="facebook.com" target="_blank">Facebook</a>,前提是social-links div是它的父级。

让我们说这个例子我没有时间搜索成千上万行代码来查找为小部件创建社交媒体链接的位置,我将如何动态添加jQuery中带有类选择器的属性?

我可以使用下面的代码通过使用他们的类或ID直接设置属性,但链接不具有唯一的类。

$(document).ready(function() {
$(".class").attr("target", "_blank"); //here I need a way to select all anchors that have the .social-links div as a parent
});

以下是HTML的示例供参考:

<div class="social-links">
<a href="http://www.facebook.com/">Facebook</a>
<a href="http://www.twitter.com/">Twitter</a>
<a href="http://www.youtube.com/">YouTube</a>
</div>

更新:我刚刚找到$( ".class" ).children(),但这会将该属性应用于.class内的所有子项,因为我只想将其应用于锚点。我怎样才能通过标签选择?或者有更好/更有效的方式吗?

1 个答案:

答案 0 :(得分:1)

要将target="_blank"添加到.social-links div中的所有定位点,您可以使用.each().attr()方法:

$(".social-links a").each(function() { // use $.each to loop through all a tags inside div
   $(this).attr("target","_blank"); // use .attr() to add attribute
});