如何使用JavaScript隐藏基于文本的元素?

use*_*180 6 javascript

我是初学者.我试图隐藏一个由第三方JavaScript动态添加到页面的div,用于审美目的.

问题是div没有id属性; 这有可能吗?div是否根据它们加载的顺序具有任何固有属性?或者有什么方法可以搜索一串文本并隐藏元素吗?

例如,<div>happy New year</div>根据其文本删除happy New year.

Spo*_*ike 8

您可以先选择相关元素并迭代它们,直到找到所需内容.

在JQuery中,它可以像这样完成:

// select relevant elements
var elements = $('div');

// go through the elements and find the one with the value
elements.each(function(index, domElement) {
    var $element = $(domElement);

    // does the element have the text we're looking for?
    if ($element.text() === "happy New year") {
        $element.hide();
            // hide the element with jQuery
        return false; 
            // jump out of the each
    }
});
Run Code Online (Sandbox Code Playgroud)

请注意,代码有点脆弱,完全取决于元素的内容.以下是相关的JQuery api文档:

请注意,您可以根据自己的选择更具体地说明您有以下代码:

<div class="message">
    <div>happy New year<div>
</div>
Run Code Online (Sandbox Code Playgroud)

您可以选择以下元素:

var domElement = $('.message div')[0]; // hopefully it only happens once
Run Code Online (Sandbox Code Playgroud)