Поиск класса для конкретной строки - PullRequest
0 голосов
/ 02 июня 2019

У меня есть этот кусок HTML.<div class="text">helloworld</div>

Поэтому я хотел бы найти в классе "текст" конкретную строку, когда эта строка найдена в этом классе.Выполняйте функцию, но только если строка была найдена, если строка не была найдена, просто напечатайте console.log('not found.'), и если это была просто печать, то это было.

Мой код показан ниже.

var timerVar = setInterval (function() {DoMeEverySecond (); }, 2000); // << set to 2 seconds.

function DoMeEverySecond ()
{
var xpathResult = document.evaluate("(//text()[contains(., 'helloworld')]) [1]", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
var node=xpathResult.singleNodeValue;
if (node==null)
console.log('Not found')
else
console.log('found');
}

Этот код работает, но он ищет все классы.Я хотел бы искать только класс "текст"

1 Ответ

0 голосов
/ 02 июня 2019

Пожалуйста, проверьте код ниже, прежде всего вы найдете все узлы (см. это вопросы и ответы ) с классом, содержащим 'text'.После этой проверки каждый из узлов содержит слова 'helloworld'

function getElementsByXPath(xpath, parent)
{
    let results = [];
    let query = document.evaluate(xpath, parent || document,
        null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    for (let i = 0, length = query.snapshotLength; i < length; ++i) {
        results.push(query.snapshotItem(i));
    }
    return results;
}

function DoMeEverySecond ()
{
	var nodes = getElementsByXPath("//*[contains(@class,'text')]", document);
	for(var i =0; i< nodes.length; i++){
		var xpathResult = document.evaluate("(text()[contains(., 'helloworld')]) [1]", nodes[i], null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
		var node=xpathResult.singleNodeValue;
		if (node==null)
			console.log('Not found')
		else
			console.log('found');
	}
	
}

var timerVar = setInterval (function() {DoMeEverySecond (); }, 2000); // << set to 2 seconds.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...