powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / [JQuery] Задачка.. Поиск текста по блокам
21 сообщений из 21, страница 1 из 1
[JQuery] Задачка.. Поиск текста по блокам
    #38160406
kalamfur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Небольшой затык: Пытаюсь выбрать все элементы в определённом селекторе, которые содержат текст

Пример
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<div id="test">
	<div class="elem1"></div>
	<div class="elem2">
		<p> ..Текст1 </p>
	</div>
	<div class="elem3">
		<p> ..Текст2 </p>
		<p> ..Текст3 </p>
		..Текст4
	</div>
</div>



Результатом выборки должны быть три элемента P и .elem3 соответственно

пробую так:
a = $('#test');
$(':contains(text)',a);

но видимо contains(text) не для того.

нужна помощь
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38160606
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalamfurно видимо contains(text) не для того.
Да ну!

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
.on {
	border: 1px solid red;
}
</style>
<script type="text/javascript">
$(document).ready(function (){
	$('#test *:contains("Текст")').addClass('on');
});
</script>
</head>
<body>
<div id="test">
	<div class="elem1"></div>
	<div class="elem2">
		<p> ..Текст1 </p>
	</div>
	<div class="elem3">
		<p> ..Текст2 </p>
		<p> ..Текст3 </p>
		..Текст4
	</div>
</div>
</body>
</html>
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38160626
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalamfur$(':contains( text )',a);

но видимо contains(text) не для того.

нужна помощьЧто-что contains? js еще не умеет переводить с английского на русский.
Ну и кавычек у текста нет.
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38160945
kalamfur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
:)
Наверное не так выразился))
которые содержат текст.. Я не имел ввиду слово "Текст", любой текст.

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<div id="test">
	<div class="elem1"></div>
	<div class="elem2">
		<p> ..123 </p>
	</div>
	<div class="elem3">
		<p> ..Текст2 </p>
		<p> ..йцукен </p>
		..qwerty
	</div>
</div>
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38160977
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalamfurЯ не имел ввиду слово "Текст", любой текст.
Любой и найдёт...
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38160981
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
.on {
	border: 1px solid red;
}
</style>
<script type="text/javascript">
$(document).ready(function (){
	var txt='тут пиши любой текст';
	$('#test *:contains("'+txt+'")').addClass('on');
});
</script>
</head>
<body>
<div id="test">
	<div class="elem1"></div>
	<div class="elem2">
		<p> ..Текст1 </p>
	</div>
	<div class="elem3">
		<p> ..Текст2 </p>
		<p> ..Текст3 </p>
		..Текст4
	</div>
	<p>тут пиши любой текст</p>
</div>
</body>
</html>
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38160988
kalamfur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда так:

я не знаю какой текст может встречаться в блоках. мне надо выделить блоки в которых текст есть.
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38160990
kalamfur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. contains("'+не в курсе какой текст+'")
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38160999
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalamfurя не знаю какой текст может встречаться в блоках
Продолжаем допрос с пристрастием...

- А кто знает?
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38161014
kalamfur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пологаю что DOM
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38161018
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalamfurпологаю что DOM
Ему вообще пофиг!
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38161036
kalamfur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АРГХ! )) Тогда заковыка.. я думал есть у Джеквери метод чтоб понять содержит элемент текст или не содержит
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38161052
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное contains('') поможет.
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38161078
kalamfur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почти то что нужно)

выдаёт
Код: html
1.
2.
3.
4.
5.
6.
<div class="elem1"/>
, <div class="elem2">
, <p>
, <div class="elem3">
, <p>
, <p>



а хотелось
Код: html
1.
2.
3.
4.
, <p>
, <div class="elem3">
, <p>
, <p>
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38161098
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalamfurя думал есть у Джеквери метод чтоб понять содержит элемент текст или не содержит
Есть такой.

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
.on {
	border: 1px solid red;
}
.empty {
	height: 10px;
}
</style>
<script type="text/javascript">
$(document).ready(function (){
	$('#test *').filter(function (){
		if ($(this).text()=='') return true;
		return false;
	}).addClass('on');
});
</script>
</head>
<body>
<div id="test">
	<div class="elem1"></div>
	<div class="elem2">
		<p> ..Текст1 </p>
	</div>
	<div class="elem3">
		<p> ..Текст2 </p>
		<p> ..Текст3 </p>
		..Текст4
	</div>
	<div class='empty'></div>
	<div class='empty'></div>
</div>
</body>
</html>
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38161101
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже через jQuery это не решишь. Нужно обходить все элементы и проверять длину текста.
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38161102
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalamfurПочти то что нужно)

выдаёт
Код: html
1.
2.
3.
4.
5.
6.
<div class="elem1"/>
, <div class="elem2">
, <p>
, <div class="elem3">
, <p>
, <p>



а хотелось
Код: html
1.
2.
3.
4.
, <p>
, <div class="elem3">
, <p>
, <p>


Может ты не правильно "ставишь задачу"?
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38161107
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так покажет элементы, у которых есть текстовый контент...

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
.on {
	border: 1px solid red;
}
.empty {
	height: 10px;
}
</style>
<script type="text/javascript">
$(document).ready(function (){
	$('#test *').filter(function (){
		if ($(this).text()=='') return false;
		return true;
	}).addClass('on');
});
</script>
</head>
<body>
<div id="test">
	<div class="elem1"></div>
	<div class="elem2">
		<p> ..Текст1 </p>
	</div>
	<div class="elem3">
		<p> ..Текст2 </p>
		<p> ..Текст3 </p>
		..Текст4
	</div>
	<div class='empty'></div>
	<div class='empty'></div>
</div>
</body>
</html>
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38161108
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyПохоже через jQuery это не решишь. Нужно обходить все элементы и проверять длину текста.Во, как раз как написал krvsa, только условие поменять: $(this).text().length>0.
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38161118
kalamfur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, но это аналог contains(''), - он считает что элемент Див содержет текст, даже если в нем пустой тег
Код: html
1.
2.
3.
	<div class="elem2">
		<p></p>
	</div>
...
Рейтинг: 0 / 0
[JQuery] Задачка.. Поиск текста по блокам
    #38161470
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalamfurДа, но это аналог contains(''), - он считает что элемент Див содержет текст, даже если в нем пустой тег
Код: html
1.
2.
3.
	<div class="elem2">
		<p></p>
	</div>


Зато мой вариант работает 100%.

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
.on {
	border: 1px solid red;
}
.empty {
	height: 10px;
}
</style>
<script type="text/javascript">
$(document).ready(function (){
	if ($('#test').text()=='') {
		alert('Нет текста');
	} else {
		alert('Текст есть');
	};
});
</script>
</head>
<body>
<div id="test">
	<p></p>
</div>
</body>
</html>
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / [JQuery] Задачка.. Поиск текста по блокам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]