登录
首页 >  文章 >  前端

jQuery 选择器中,为什么使用 attr() 方法修改超链接目标地址时,原生DOM对象无法生效?

时间:2024-11-04 20:40:00 160浏览 收藏

学习文章要努力,但是不要急!今天的这篇文章《jQuery 选择器中,为什么使用 attr() 方法修改超链接目标地址时,原生DOM对象无法生效? 》将会介绍到等等知识点,如果你想深入学习文章,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!

jQuery 选择器中,为什么使用 attr() 方法修改超链接目标地址时,原生DOM对象无法生效?

jQuery 选择器的问题

要给页面所有超链接的目标地址设定为超链接的内嵌文本时,我们可能会遇到这样的代码:

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;
}

其中,注释掉的一行代码:

hyperlinks[i].attr("href",hyperlinks[i].innerHTML);

似乎不起作用。

要解决这个问题,建议修改代码如下:

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

修改后,代码能够正常工作的原因在于,hyperlinks[i]保存的是原生的DOM对象,而 $(hyperlinks[i]) 将其包装为一个jQuery对象。jQuery对象提供了 attr() 方法,可以修改元素的属性,而原生DOM对象没有此方法,因此需要使用 href 属性的赋值语句。

在不清楚对象类型时,建议使用 console.log() 打印出来进行对比,以查看两者的差异。

今天关于《jQuery 选择器中,为什么使用 attr() 方法修改超链接目标地址时,原生DOM对象无法生效? 》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>