带有if语句的Javascript不更改href属性

时间:2014-08-19 12:57:39

标签: javascript html variables hyperlink href

我设置了一个超链接,其href属性需要在if语句之后通过javascript更改,但它没有。

    <script>
    function addhttp(url) {

        var url = "newlink";

       if (!/^(f|ht)tps?:\/\//i.test(url)) {
          url = "http://" + url;
       }
       return url;
       document.getElementById('wl').href= url;
    };
    </script>

<li>
<a id="wl" href="oldlink">LINK</a>
</li>

Also a JSFiddle

我错过了什么?

1 个答案:

答案 0 :(得分:2)

两个细节不对。 首先,正如@Bjorn注意到的那样,未调用该函数,通过将function addhttp(url) { ... };替换为$(function () { ... });来修复该函数,
其次,正如@Mritunjay指出的那样,href在返回完成后会发生变化,所以他们的命令只需要反转为

document.getElementById('wl').href= url;
return url;

制作工作脚本

$(function () {
    var url = "new link";

   if (!/^(f|ht)tps?:\/\//i.test(url)) {
      url = "http://" + url;
   }
   document.getElementById('wl').href= url;
   return url;
});

如果这个答案可以帮助你,请改为赞成他们的意见。