我必须在其后面分配许多html href
属性(标记)各自ID的值。
使用我的代码,我只得到一个唯一的值(第一个)。
非常感谢。
树里
$(".anchor").attr("href","#"+($(".anchor").closest("div").next("div").attr("id")));

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<a class="anchor">Get anchor 1</a>
</div>
<div id="link1">
<p>A paragraph</p>
</div>
<div>
<a class="anchor">Get anchor 2</a>
</div>
<div id="link2">
<p>Another paragraph</p>
</div>
&#13;
答案 0 :(得分:0)
Jquery .attr()
在第二个参数中有函数,迭代所选元素并更改其属性。也可以使用.parent()
代替.closest("div")
$(".anchor").attr("href", function(){
return "#"+$(this).parent().next("div").attr("id");
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<a class="anchor">Get anchor 1</a>
</div>
<div id="link1">
<p>A paragraph</p>
</div>
<div>
<a class="anchor">Get anchor 2</a>
</div>
<div id="link2">
<p>Another paragraph</p>
</div>
&#13;
答案 1 :(得分:0)
遍历所有带有类锚的标记循环,并使用$(this).parent("div").next("div").attr("id"))
选择器获取标记的链接。
请查看下面的代码段。
$(".anchor").each(function(){
$(this).attr("href","#"+($(this).parent("div").next("div").attr("id")));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div><a class="anchor">Get anchor 1</a>
</div>
<div id="link1">
<p>A paragraph</p>
</div>
<div><a class="anchor">Get anchor 2</a>
</div>
<div id="link2">
<p>Another paragraph</p>
</div>
答案 2 :(得分:0)
您需要所选元素的实例。可以使用attr(attrName, function)
来执行此操作
$(".anchor").attr("href",function(){
return '#' + $(this).closest("div").next("div").attr("id");
});
答案 3 :(得分:0)
使用jQuery each
或任何类似for
,while
等的循环来迭代所有.anchor元素。