作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要更改框中链接的 href。我只能使用原生javaScript。不知何故,我在遍历元素以匹配正确的 <a>
时遇到问题标签。
由于该容器内的所有 a 标记除了 href 值外都是相同的,因此我需要使用该值来获取匹配项。
到目前为止我已经尝试过:
var box = document.getElementsByClassName('ic-Login-confirmation__content');
var terms = box.querySelectorAll('a');
if (typeof(box) != 'undefined' && box != null) {
for (var i = 0; i < terms.length; i++) {
if (terms[i].href.toLowerCase() == 'http://www.myweb.net/2/') {
terms[i].setAttribute('href', 'http://newlink.com');
}
}
}
但是,我不断收到“未捕获的类型错误:box.querySelectorAll 不是函数”。我需要做什么才能使这项工作成功?
最佳答案
querySelectorAll
的美妙之处在于您不需要那样遍历 - 只需使用
var terms = document.querySelectorAll('.ic-Login-confirmation__content a');
然后迭代这些。更新 fiddle :https://jsfiddle.net/4y6k8g4g/2/
事实上,整个事情可以简单得多
var terms = document.querySelectorAll('.ic-Login-confirmation__content a[href="http://www.myweb.net/2/"]');
if(terms.length){
terms[0].setAttribute('href', 'http://newlink.com');
}
关于javascript - 在javaScript中遍历元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37675767/
我是一名优秀的程序员,十分优秀!