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

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

Пример
Код: 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
21.02.2013, 13:31
    #38160606
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Задачка.. Поиск текста по блокам
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
21.02.2013, 13:39
    #38160626
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Задачка.. Поиск текста по блокам
kalamfur$(':contains( text )',a);

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

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

Код: 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
21.02.2013, 16:02
    #38160977
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Задачка.. Поиск текста по блокам
kalamfurЯ не имел ввиду слово "Текст", любой текст.
Любой и найдёт...
...
Рейтинг: 0 / 0
21.02.2013, 16:03
    #38160981
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Задачка.. Поиск текста по блокам
Код: 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
21.02.2013, 16:05
    #38160988
kalamfur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Задачка.. Поиск текста по блокам
Тогда так:

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

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

выдаёт
Код: 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
21.02.2013, 16:53
    #38161098
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Задачка.. Поиск текста по блокам
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
21.02.2013, 16:55
    #38161101
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Задачка.. Поиск текста по блокам
Похоже через jQuery это не решишь. Нужно обходить все элементы и проверять длину текста.
...
Рейтинг: 0 / 0
21.02.2013, 16:55
    #38161102
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Задачка.. Поиск текста по блокам
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
21.02.2013, 16:57
    #38161107
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Задачка.. Поиск текста по блокам
Вот так покажет элементы, у которых есть текстовый контент...

Код: 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
21.02.2013, 16:57
    #38161108
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Задачка.. Поиск текста по блокам
AntonariyПохоже через jQuery это не решишь. Нужно обходить все элементы и проверять длину текста.Во, как раз как написал krvsa, только условие поменять: $(this).text().length>0.
...
Рейтинг: 0 / 0
21.02.2013, 17:03
    #38161118
kalamfur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Задачка.. Поиск текста по блокам
Да, но это аналог contains(''), - он считает что элемент Див содержет текст, даже если в нем пустой тег
Код: html
1.
2.
3.
	<div class="elem2">
		<p></p>
	</div>
...
Рейтинг: 0 / 0
21.02.2013, 21:40
    #38161470
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[JQuery] Задачка.. Поиск текста по блокам
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
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / [JQuery] Задачка.. Поиск текста по блокам / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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