@Shimpanze

Почему не срабатывает условие?

Добрый день!

Необходимо удалить все атрибуты у элементов, кроме двух (href и src). Пишу так:

document.querySelectorAll('.post *').forEach(e => {
  for (let i = e.attributes.length; i--;) {
    if (e.attributes[i].nodeName !== 'href' || 'src') {
      e.removeAttributeNode(e.attributes[i]);
    }
  }
});


...удаляет вообще все атрибуты. Почему не срабатывает это условие:

if (e.attributes[i].nodeName !== 'href' || 'src') {


Причём, вот это условие работает безупречно:

if (e.attributes[i].nodeName !== 'href') {

Спасибо!
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
if (e.attributes[i].nodeName !== 'href' && e.attributes[i].nodeName !== 'src') {
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
colonel
@colonel
Разработчик PHP, Laravel
... || 'src'
Всегда будет true
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы