Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Проблема с селектором (https://javascript.ru/forum/jquery/42527-problema-s-selektorom.html)

Sinot 30.10.2013 14:34

Проблема с селектором
 
Приветствую всех.

Есть такой код:
$('div', '<div> <div>1</div><div>2</div><span>3</span> </div>');

В результате получим набор из двух div (1 и 2).

Но если убрать родительский div:
$('div', '<div>1</div><div>2</div><span>3</span>');

Получим пустой набор.


А в таком случае:
$('div', '<div>1<div>4</div></div> <div>2</div> <span>3<div>5</div></span>');

Получим набор из двух div (4 и 5).


То есть выборка идет внутри элементов начальной строки.

А вот как искать по элементам начальной строки? Или что надо изменить в коде, чтобы получить набор из двух div (1 и 2) не меняя строку в которой ищем?
$('div', '<div>1</div><div>2</div><span>3</span>');


Спасибо.

ksa 30.10.2013 14:55

Цитата:

Сообщение от Sinot
А вот как искать по элементам начальной строки? Или что надо изменить в коде, чтобы получить набор из двух div (1 и 2) не меняя строку в которой ищем?
$('div', '<div>1</div><div>2</div><span>3</span>');

По-мне, так все это какая-то белиберда... :)

Но, как вариант...

<!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">
</style>
<script type="text/javascript">
$(function(){
	alert($('<div>1</div><div>2</div><span>3</span>').filter('div').length);
});
</script>
</head>
<body>
</body>
</html>

Sinot 30.10.2013 15:17

ksa, Спасибо помогло.

Если интересно, это упрощенный пример. А вся затея для динамических вкладок для web-приложения.

Аяксом подгружается тело вкладки (html-болванка), скрипты для разнообразных кнопок на ней, название вкладки, css и по мелочи. Все это добро лежит единым объектом для каждой вкладки в массиве и по необходимости отображается.

И прежде чем отобразить тело вкладки иногда ее нужно изменить. Вот тут был необходим селектор (представьте вместо этой белиберды тело вкладки).

ksa 30.10.2013 15:37

Цитата:

Сообщение от Sinot
представьте вместо этой белиберды тело вкладки

У всех свои закидоны... :D


Часовой пояс GMT +3, время: 17:41.