如何使用JavaScript检查是否存在html元标记?

时间:2017-02-16 16:38:11

标签: javascript html

所以我的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!');
}

有什么建议吗?

2 个答案:

答案 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!');
}