在 document.querySelector 中检查选择器时如何防止未捕获的 DOMException
How to prevent Uncaught DOMException when checking selector in document.querySelector
在 JavaScript 我有这样的代码:
var text = '[0-9]';
if (document.querySelector(text) !== null) {
alert('fail');
}
我在运行的时候,出现错误:
Uncaught DOMException: Failed to execute 'querySelector' on
'Document': '[0-9]' is not a valid selector.
请问如何在没有这个错误的情况下检查querySelector是否有效?
我希望能够将任何内容写入变量“文本”,并且我希望代码在选择器无效时发出“失败”警报。没有那个错误,无论“文本”包含什么变量。
您可以使用try...catch来防止错误
let text = '[0-9]';
if (getQuerySelector(text) !== null) {
alert('fail');
}
function getQuerySelector(txt){
try {
return document.querySelector(txt);
}
catch(e) {
return null;
}
}
在 JavaScript 我有这样的代码:
var text = '[0-9]';
if (document.querySelector(text) !== null) {
alert('fail');
}
我在运行的时候,出现错误:
Uncaught DOMException: Failed to execute 'querySelector' on 'Document': '[0-9]' is not a valid selector.
请问如何在没有这个错误的情况下检查querySelector是否有效?
我希望能够将任何内容写入变量“文本”,并且我希望代码在选择器无效时发出“失败”警报。没有那个错误,无论“文本”包含什么变量。
您可以使用try...catch来防止错误
let text = '[0-9]';
if (getQuerySelector(text) !== null) {
alert('fail');
}
function getQuerySelector(txt){
try {
return document.querySelector(txt);
}
catch(e) {
return null;
}
}