jquery选择器的问题?

我想把页面所有超链接都变成由其内嵌文本指定

比如

<a>https://www.bilibli.com</a>
<a>https://www.163.com</a>

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js" />
<script>
var hyperlinks =$("a");
for (let i = 0; i < hyperlinks.length; i++) {
        //alert(hyperlinks[i].innerHTML);        
        //hyperlinks[i].attr("href",hyperlinks[i].innerHTML);   
        hyperlinks[i].href= hyperlinks[i].innerHTML;
    }
</script>

为什么我这一行,没有作用啊?(因为没用才注释掉的..)
hyperlinks[i].attr("href",hyperlinks[i].innerHTML);

阅读 1.5k
1 个回答

如果想让你注释的那一行代码生效,推荐改成下述写法

 for (let i = 0; i < hyperlinks.length; i++) {
                $(hyperlinks[i]).attr("href", hyperlinks[i].innerHTML);
            }

建议选中对象不清楚是什么形式的时候,打印出来对比一下二者的差异,例如
console.log(hyperlinks[i])

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题