鍍金池/ 問答/PHP  HTML/ a標(biāo)簽的href包含特定字符則用js替換url

a標(biāo)簽的href包含特定字符則用js替換url

a標(biāo)簽的href包含特定字符則用js替換url( 最好是用jquery的$(function()),其中a標(biāo)簽類名不一樣,只是href中包含特定域名才替換為新的域名鏈接。例如:
原始代碼中包含下面代碼:

<a  class="aaaa">aaaaaa</a>
<a  class="bbb">bbbb</a>

只要檢測到href中包含qq.com就替換href鏈接為設(shè)定好的統(tǒng)一新鏈接http://m.new.com。classs類中的參數(shù)保持不變。

回答
編輯回答
敢試

document.getElementsByTagName(tagname)方法可返回帶有指定標(biāo)簽名的對象的集合。
然后遍歷集合并替換。

2017年12月22日 15:01
編輯回答
紓惘

可以在點(diǎn)擊的時候判斷,用事件委托,我的代碼求方便,直接在dcoment上添加了事件上,你可以選擇你要的DOM,添加事件委托

document.addEventListener("click",function(e){
  if(e.target.tagName ==='A'){
    e.preventDefault()
    var href= e.target.getAttribute('href')
    if(/m.qq.com/.test(href)){
      location.
    } else {
      location.href = href
    }
  }

2017年9月8日 01:29
編輯回答
吢丕
    <a  class="aaaa">m.qq.com</a>
    <a  class="aaaa">qq.com</a>
    <a href="qq.com" class="bbb">qq.com</a>
    <a  class="cccc">m.qq.co</a>
    <a  class="ddd">aqq.com</a>
    <script>
        var hrefs = document.getElementsByTagName('a');
        var rexDomain = new RegExp('^.*?[\.|\/]qq\.com($|\/).*?$','i');//檢測href屬性中含有qq.com
        var newDomain = 'http://m.new.com';//用http://m.new.com替換
        for(var i=0,len=hrefs.length;i<len;i++){
            hrefs[i].href = hrefs[i].href.replace(rexDomain,newDomain)
        }
   </script>

//output

<a  class="aaaa">m.qq.com</a>
<a  class="aaaa">qq.com</a>
<a  class="bbb">qq.com</a>
<a  class="cccc">m.qq.co</a>
<a  class="ddd">aqq.com</a>

2017年11月5日 13:45
編輯回答
下墜
<a id="a1" >1111111111111</a>
<a id="a2" >22222222222</a>
<script>
    var oA1 = document.getElementById('a1');
    var oA2 = document.getElementById('a2');
    
    var arr = [oA1, oA2];
    
    for(var a=0;a<arr.length;a++) {
        if(/m.qq.com/.test(arr[a].href)) {
            arr[a].;
        }
    }
    
    // <a id="a1" >1111111111111</a>
    // <a id="a2" >22222222222</a>    
</script>
2017年7月15日 13:07