php中文网

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

php中文网

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>

以上就是jQuery 选择器中,为什么使用 attr() 方法修改超链接目标地址时,原生DOM对象无法生效?的详细内容,更多请关注php中文网其它相关文章!