使用Jquery在html文档中的每个url之前附加“www”

时间:2013-05-17 13:38:51

标签: javascript jquery url

我需要在每个网址[如果还没有]之前在任何锚标记或任何表单操作中附加www [即任何链接都在DOM]中使用jquery。那可能吗?

2 个答案:

答案 0 :(得分:1)

这不会迎合http://(和其他变种),但你可以这样做......

$("a").each(function(){
   var href = $(this).attr("href");
   if(href.indexOf("www.") != 0){
      $(this).attr("href", "www." + href);
   }
});

form标记使用action属性,因此如果您也需要,则必须执行一些额外的代码。检查标记名称,或者仅为表单创建新循环。像这样:

$("a, form").each(function () {
    var attr = $(this).prop("tagName") == "FORM" ? "action" : "href";
    var href = $(this).attr(attr);
    if (href.indexOf("www.") != 0) {
        $(this).attr(attr, "www." + href);
    }
});

Here is a working example

注意:这只是一个例子。有许多事情需要考虑。我已经提到了方案问题(http等),那么你必须考虑相对路径(即“/folder/page.html”)。一切都变得有点混乱,你确定这实际上是你需要做的吗?

答案 1 :(得分:0)

$('a').each(function(){
        if($(this).attr('href').indexOf('www')!=0){
            $(this).attr('href', 'www.'+$(this).attr('href'));
        }
   });

jsfiddle