请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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

可以跳转的链接

https://img1.sycdn.imooc.com/szimg//5996ebe10001d68613660736.jpg

https://img1.sycdn.imooc.com/szimg//5996ebe1000194b213660736.jpg


不能实现的链接

https://img1.sycdn.imooc.com/szimg//5996ec0c0001341813660736.jpg

https://img1.sycdn.imooc.com/szimg//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回答

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

0 回复 有任何疑惑可以回复我~
  • 提问者 李行知 #1
    最后一个没有理解,代理什么事件?老师回答一下我那个关于vertical-aglin的问题呀
    回复 有任何疑惑可以回复我~ 2017-08-19 00:21:33
  • Rosen 回复 提问者 李行知 #2
    查下事件代理或者叫事件委托。那个问题的截图手机看不清,开电脑看。
    回复 有任何疑惑可以回复我~ 2017-08-19 09:16:24
  • 提问者 李行知 回复 Rosen #3
    我懂了
       $(document).on("click", "a", function() {
            $("a").attr("target", "_blank");
    
        });
    回复 有任何疑惑可以回复我~ 2017-08-19 21:22:09
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信