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

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

jquery 选择器的问题

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

var hyperlinks =$("a"); for (let i = 0; i <p>其中,注释掉的一行代码:</p><pre class="brush:php;toolbar:false">hyperlinks[i].attr("href",hyperlinks[i].innerHTML);
登录后复制

似乎不起作用。

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

for (let i = 0; i <p>修改后,代码能够正常工作的原因在于,hyperlinks[i]保存的是原生的dom对象,而 $(hyperlinks[i]) 将其包装为一个jQuery对象。jQuery对象提供了 attr() 方法,可以修改元素的属性,而原生DOM对象没有此方法,因此需要使用 href 属性的赋值语句。</p><p>在不清楚对象类型时,建议使用 console.log() 打印出来进行对比,以查看两者的差异。</p>
登录后复制

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容