
jquery 选择器疑惑
在使用 jQuery 选择器时,有一位开发人员遇到了一个问题,他需要将页面上的所有超链接都变成由其内嵌文本指定。为此,他编写了以下代码:
for (let i = 0; i < hyperlinks.length; i++) {
//hyperlinks[i].attr("href",hyperlinks[i].innerHTML);
hyperlinks[i].href= hyperlinks[i].innerHTML;
}但开发人员发现注释掉的代码无效,于是向社区寻求帮助。
一位经验丰富的工程师提供了解决方案:
为了让注释掉的代码生效,可以修改为以下写法:
for (let i = 0; i < hyperlinks.length; i++) {
$(hyperlinks[i]).attr("href", hyperlinks[i].innerHTML);
}为了明确哪一种对象支持 attr() 方法,建议在不确定对象类型时打印出来进行比较,例如:
console.log(hyperlinks[i]);










