Основная проблема с вашим кодом заключается в том, что getElementsByClassName
и getElementsByTagName
возвращают списки узлов. Таким образом, вам нужно выполнить итерацию по ним, что проще сделать с querySelectorAll()
, вызывая removeAttribute()
на отдельных узлах. Попробуйте это:
document.querySelectorAll('.other.class').forEach(function(el) {
el.querySelectorAll("a").forEach(function(a) {
a.removeAttribute("rel");
});
});
<div class="myclass">
<a rel="nofollow noopener noreferre">MEC</a>
</div>
<div class="other class">
<a rel="nofollow noopener noreferrer">MEC</a>
</div>
Эквивалент jQuery это:
$('.other.class > a').removeAttr("rel");
Это, очевидно, предполагает, что вы выбираете div
, используя два классы. Если это всего лишь один класс, используйте .otherclass