Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果页面上的标记等于某个文本字符串,如何向ID添加类?_Javascript_Html - Fatal编程技术网

Javascript 如果页面上的标记等于某个文本字符串,如何向ID添加类?

Javascript 如果页面上的标记等于某个文本字符串,如何向ID添加类?,javascript,html,Javascript,Html,我想使用Javascript向特定ID添加类或内嵌CSS,但前提是页面上的标记包含数组中特定单词的精确匹配 我在页面上隐藏了一个div,只希望它在标记等于特定单词或特定单词时显示。下面是我的工作,但没有使用数组 $('h1').each(function () { if ($(this).text() == 'exampleText') { $('#bannerIMG').addClass("showID"); } }); 我还尝试使用:contains,这很有

我想使用Javascript向特定ID添加类或内嵌CSS,但前提是页面上的标记包含数组中特定单词的精确匹配

我在页面上隐藏了一个div,只希望它在标记等于特定单词或特定单词时显示。下面是我的工作,但没有使用数组

$('h1').each(function () {
    if ($(this).text() == 'exampleText') {
        $('#bannerIMG').addClass("showID");
    }
});
我还尝试使用:contains,这很有效,但它没有根据精确匹配显示div。例如,div将显示包含“example Text”和“example”的h1标记,但我只希望它显示等于“example Text”的h1标记

var exampleArray = ['text1', 'text2', 'multiple words1', 'multiple words2'];

    $('h1').each(function () {
        if ($(this).text() == exampleArray) {
            $('#bannerIMG').addClass("showID");
        }
    });
我想要一个包含h1标签列表的数组,其中包含不同页面的名称,并且我想要一个特定的div只显示在我在数组中列出的页面上。提前感谢您的帮助

您可以使用includes或indexOf进行检查

trim方法删除字符串两侧的空白

var exampleArray=['text1','text2','multiple words1','multiple words2']; $'h1'。每个函数{ 如果示例Array.includes$this.text.trim{ $'bannerIMG'.addClassshowID; } }; 肖维德先生{ 显示:块!重要; } 文本1
ABCConsider在if语句中向each循环添加return false将在找到匹配项时停止。感谢您的回答!这对Chrome和Firefox非常有效,但对IE来说一点也不支持。我发现IE不支持Include,所以我改为尝试indexOf。现在在所有浏览器中,要么显示错误的横幅,要么两者都显示。知道发生了什么吗?需要考虑的是,使用一个类来隐藏元素,然后使用任何逻辑来删除该类。为什么?如果除了display:block之外还有其他功能,那么删除display:none的类比猜测display属性的正确值更容易。