用JavaScript替换html中的链接

时间:2016-02-20 14:38:50

标签: javascript

我正在使用一些JS代码来查找页面上的所有内部链接并向其添加子文件夹。此代码用于翻译页面,因此其他翻译页面的内部链接是正确的。

我希望此代码更新所有内部链接,除非它们具有类属性。

如果class属性存在,我希望JavaScript函数忽略该链接。

<a class="noTranslateLink" href="domain.com"
<script>
    function replace_url(elem, attr) {
        var elems = document.getElementsByTagName(elem);
        for (var i = 0; i < elems.length; i++)
            elems[i][attr] = elems[i][attr].replace('<?php echo $_SERVER['HTTP_HOST'] ?>', '<?php echo $_SERVER['HTTP_HOST'] ?>/ru');
    }
    window.onload = function() {
        replace_url('a', 'href');
    }
</script>

2 个答案:

答案 0 :(得分:1)

我没有测试过,但这必须有效:

function replace_url(elem, attr) {
  var elems = document.getElementsByTagName(elem);
  for (var i = 0; i < elems.length; i++) {
    if (elems[i].getAttribute('class') != "noTranslateLink")
      elems[i].setAttribute(attr,elems[i].setAttribute(attr).replace('',''));

  }
}

答案 1 :(得分:1)

选择没有类属性的所有锚元素:

var elems = document.querySelectorAll(elem + ':not([class])');

相反的是:

var elems = document.querySelectorAll(elem + '[class]');