我正在使用一些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>
答案 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]');