$("a").attr("target", "_blank");获取链接

来源:5-5 找回密码页面的开发

李行知

2017-08-18

我想通过这样的语句给所有的a链接变成只要点击链接就会跳转到一个新的标签,但是失败了,这个话我做为脚本写在老师那里是可以把所有的a都加上这个属性的。可是在自己这里缺不行,发现有写a链接使用$("a")无法获得

可以跳转的链接

http://szimg.mukewang.com/5996ebe10001d68613660736.jpg

http://szimg.mukewang.com/5996ebe1000194b213660736.jpg


不能实现的链接

http://szimg.mukewang.com/5996ec0c0001341813660736.jpg

http://szimg.mukewang.com/5996ec0c0001954d13660736.jpg



然后我进行推测,因为这句话是我是写在了index.js这个通用的模块里面。生成了base.js的文件,而这个文件在页面中的加载是第一个,所以导致只让一开始的页面的a生效了,那要怎么才能改变js文件的加载顺序呢?我尝试在webpack.config文件中进行了修改

chunks: [name, 'common']

改变了下名字的顺序可是失败了,直接写在order-list.js这个文件中

$(function() {
page.init();
$("a").attr("target", "_blank");
})

也因为异步加载的原因失败了,应该怎么处理呢?怎么才能改变webpack加载js文件的顺序呢

写回答

1回答

Rosen

2017-08-18

你的a链接是读完接口才加载出来的,而在页面一出来就执行了attr的操作,当前选择器还选不到东西。做这个事可以换个思路,把所有a都代理个事件,在事件里把默认的事件阻止掉再用js做跳转处理。

0
4
Rosen
回复
李行知
这里可以直接e.preventDefault();然后window.open(xxx)了
2017-08-19
共4条回复

真实数据对接 从0开发前后端分离的企业级上线项目

【毕设项目精品】前端实战,对接真实服务端数据,开发完整项目

4262 学习 · 4113 问题

查看课程