所以我的HTML代码标题中有以下Meta标记
<html>
<head>
<meta property="article:tag" content="This is an apple" />
<meta property="article:tag" content="This is a pear" />
</head>
我想检查内容&#34;这是一个苹果&#34; 的元标记是否存在。但由于某种原因,我的警报框始终运行正常。
if (document.querySelectorAll('meta[content="This is an apple"]') != null) {
alert('Its here!');
}
有什么建议吗?
答案 0 :(得分:5)
它总是返回true,因为querySelectorAll
在0匹配的情况下返回一个空数组。 cat.c
您可以使用NodeList对象的length属性来确定与指定选择器
匹配的元素数
试试这个:
if (document.querySelectorAll('meta[content="This is not an apple"]').length > 0) {
alert('Its here!');
} else {
alert('Its not here')
}
<head>
<meta property="article:tag" content="This is an apple" />
<meta property="article:tag" content="This is a pear" />
</head>
答案 1 :(得分:2)
document.querySelectorAll
返回一个数组。您想检查其长度,因为如果没有匹配的元素,则返回[]
(空数组)。所以:
if (document.querySelectorAll('meta[content="This is an apple"]').length !== 0) {
alert('Its here!');
}