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>
登录后复制
暂无评论内容