最近开发项目有这么一个需求
有一堆A链接关键词,点击后让他跳转到百度自动搜索此关键词,js写法如下,希望可以帮到各位
123456789101112131415161718192021222324<div class="a" id="a">
<a href="#">好好好</a>
<a href="#">你你你</a>
<a href="#">啊啊啊</a>
</div>
<script type="text/javascript">
$(".a a").attr({rel:"noopener",target: "_blank"}) //先给a链接添加上_blank 可选
let tagA = Array.from($(".a a")) //获取所有.a 下的a标签并转换为数组
console.log(tagA)
var btns = new Array(); //或者写成:var btns= []; 创建一个新数组
jQuery('.a a').each(function(key,value){
btns[key] = $(this).html();
//循环遍历 因为jQuery总是只返回第一个类标签的值,所以无法达到我们的要求。 要获得一组类标签的所有html元素的值。就得使用jQuery的each遍历。
//原因: $('div').html(); 只相当于 $('div:first').html(); 根据官方文档,html() 获取的是第一个元素的内容 赋值的时候是所有元素都会有效。
// 或者也可以这么写: btns[key] = $(a).html();
});
$(function () {
$(".a a").on("click", function () {
tagA.forEach(e=>{e.setAttribute('href', "http://www.baidu.com/baidu?word=" + btns[$(this).index(".a a")] );}); //forEach() 方法对数组的每个元素执行一次提供的函数
});
});
</script>