если элемент querySelector не найден (используйте замену)

#javascript

Вопрос:

у меня есть этот код, необходимый, если селектор не найден (для использования номера замены 0)

 const p = 20;
const p1 = document.querySelector("#").textContent;
const p2 = p1.replace(/[^d:]/g, '');
const p4 = p1-(pt2);
document.getElementById("").value = p4;
 

пример, если у меня есть p1 1, то этот скрипт должен добавить 19 (если число не найдено, что является моей проблемой) Я хотел бы добавить туда что-то подобное, || 0; однако это не работает, или я делаю что-то не так, я долго искал новое решение и не нашел его, поэтому я обращаюсь к более умным

Я хотел бы сделать что-то подобное

 const p1 = document.querySelector("#").textContent;
 

если этот элемент не найден
, замените в || 0;

 const p2 = p1.replace(/[^d:]/g, '');
 

Комментарии:

1. # не является допустимым селектором

2. вы могли бы сделать const p1 = document.querySelector("#")?.textContent || 0; это таким образом, если document.querySelector("#") возврат null не приведет к ошибке

3. @Браво спасибо, я только учусь так хорошо разбираться: D к счастью, он решил эту проблему здесь благодаря методу If

Ответ №1:

используйте оператор условия if else .

 if(){

}else{

}
 

Ответ №2:

 const p1 = document.querySelector("#").textContent;
var p2;
if(p1.match(/[^d:]/g)){
  p2 = p1.replace(/[^d:]/g, '');
} else{
   p2 = 0
}
 

Комментарии:

1. need zero if they can't find the element (const p1 = document.querySelector("#").textContent; ) как этого добиться Я попробовал вашу процедуру здесь (к сожалению, не работает) (этот селектор запросов), если сценарий не найдет ее, чтобы положить туда ноль

2. если это условие будет выполнено при нажатии на кнопку, то условие должно быть if(document.querySelector("#id") === null) { var p2 = 0 } else {var p1 = document.querySelector("#id").textContent; var p2 = p1.replace(/[^d:]/g, '') } — но если это условие будет выполнено при переходе на страницу, то подождите некоторое время, вы можете использовать setInterval() или MutationObserver — если ваш код будет выполнен непосредственно при открытии страницы, просто используйте условие выше

3. Alsso вы уверены, что ваше регулярное выражение работает, я протестировал его, и оно ничего не заменяет, я отредактировал его, чтобы заменить только первое число ^d или для первого использования нескольких чисел ^d