|
|
|
|
var n=Number(margin); // 25
var k=n+25;
var i=$(this).attr("id"); // 6
$("div[data="+k+"]").each(function(){
if ($(this).attr("data")==n) return false;
$(".block_for_users_no_active[data="+k+"]").show();
});
|
посмотрите пожалуйста. в чем может быть проблема? | |
|
|
|
|
|
|
|
для: technic611
(13.11.2014 в 00:19)
| | Проблема в том, что .each(), это цикл для набора, а $("div[data="+k+"]"), это объект. Кстати, атрибут id не может иметь имя 6, если только не использовать его по назначению. | |
|
|
|
|
 80.7 Кб |
|
|
для: confirm
(13.11.2014 в 10:02)
| | проблема в том что мне нужно показать скрытые divы, которые идут после текущего/ и не показывать те которые идут выше дерева. divы идут друг за другом. вложения определяются отступом margin. нужно остановить цикл когда будет вхождение margin равное текущему
как пример
<div style='margin-left=0'> </div>
<div style='margin-left=25; display:none' data=25> </div>
<div style='margin-left=25; display:none ' data=25> </div>
<div style='margin-left=50; display:none' data=50> </div>
<div style='margin-left=0'> </div>
<div style='margin-left=0'> </div>
<div style='margin-left=25; display:none ' data=25> </div>
<div style='margin-left=25'; display:none' data=25 > </div>
|
| |
|
|
|
|
|
|
|
для: technic611
(13.11.2014 в 11:41)
| | Ну так надо обходить коллекцию элементов, а не получив один из них пытаться гонять его в цикле. У вас вообще никакого цикла не будет.
А для того чтобы обойти представленную коллекцию, либо получайте ее как набор элементов DIV, хотя вряд ли это корректно будет, так как кроме этих у вас точно есть и другие DIV на странице. А значит заключите их в родительский элемент, у которого и получайте коллекцию дочерних, либо укажите этим DIV одно имя класса и получайте эту коллекцию по имени класса. Вот эту коллекцию и обходите в .each(). | |
|
|
|
|
|
|
|
для: confirm
(13.11.2014 в 11:49)
| | $("div[data="+k+"]") а разве так я не получаю коллекцию? | |
|
|
|
|
|
|
|
для: technic611
(13.11.2014 в 11:51)
| | data="+k+" - это строка, все лишь навсего, и jQuery будет искать ОБЪЕКТ у которого есть атрибут data (такого стандартного атрибута нет) равный k. С какого перепуга jQuery обязан считать это коллекцией? Нельзя в строку подставить массив, если вы на это надеетесь или пытаетесь. | |
|
|
|
|
|
|
|
для: confirm
(13.11.2014 в 11:57)
| | а как тогда сделать? | |
|
|
|
|
|
|
|
для: technic611
(13.11.2014 в 12:05)
| | А выше я вам о чем писал? | |
|
|
|
|
|
|
|
для: confirm
(13.11.2014 в 12:10)
| | Я вижу только текст. Я не понимаю в чем отличие моей конструкции от вашей. Она тоже собирает divы | |
|
|
|
|
|
|
|
для: Technic611
(13.11.2014 в 15:10)
| | А вы не смотрите на текст, а прочтите внимательно.
Вы пишите что-то или я? А если вы то и выберите одно из предложенных решений, или вы хотите чтобы я догадался о структуре вашего документа и выдал верное решение? | |
|
|
|
|
|
|
|
для: confirm
(13.11.2014 в 15:20)
| | Так я прикрепил файл как должно работать. И структуру описал. Просто я не знаю как мне сделать то что вы предложили. Как правильно собрать элементы в массив? | |
|
|
|
|
|
|
|
для: technic611
(13.11.2014 в 17:47)
| | Говоря о структуре документа, я конечно же не имел ввиду картинку, которая показывает как ваши элементы расположены. Речь была о том, как обратиться к ним.
А обратиться к ним можно как к коллекции, то есть набору элементов, и сделать это можно различными путями, о которых я писал. Как конкретно поступить, это не мне, это вам виднее.
Можно поместить элементы родительский блок, неужели вы до сих пор не знаете что это такое?
<div id="ctr">
<div></div>
<div></div>
<div></div>
</div>
|
Теперь можно получить коллекцию элементов у DIV "ctr" и обойти эти элементы циклом:
$('#ctr').find('div').each(function() {
....
);
можно и
$('#ctr div').each....
можно и
$('#ctr').children().each.....
|
Можно указать элементам class и по этому селектору получить нужные. Выбирайте, что вам подходит. Я же понятия не имею что вы там хотите сделать, и что разумного посоветовать. Могу лишь сказать, что если это типа меню древовидного (имеется ввиду работа), то не совсем удачный подход к решению задачи, начиная со структуры html-кода.
Если вы уж откуда-то узнали про each, то полезно будет изучить селекторы и методы для работы с набором. Понять их не сложно, а выполнив простые примеры, уяснить их работу и назначение. | |
|
|
|
|
|
|
|
для: confirm
(13.11.2014 в 19:13)
| | да это именно древовидный вывод. но только не с ul li а с помощью просто друг за другом идущих div c отступом. и я не понимаю в чем разница моего и вашего решения. ведь на странице других div с атрибутом data нет. я указал не класс, а атрибут им поставил data. какая разница, как искать по атрибуту или по названию класса. результат то один будет. покажет одно кол-во кол-во блоков. Тут другая проблема, что когда я хочу открыть (показать блоки с data=25 которые идут под блоком с data=0 открываются все блоки на странице которые имеют data=25. | |
|
|
|
|
|
|
|
для: technic611
(13.11.2014 в 19:46)
| | Разница в том, что поиск по классу для новых браузеров (и версией jQuery), это уже нативный обработчик.
Ваш самопальный атрибут таким образом обрабатываться не будет. Кроме этого, такой подход это никчемные затраты на поиски и анализ, а вот родитель для общих, это простой доступ без всяких проверок на 0 или 25...
Вы уж если не хотите использовать ul-li, то хотя бы вспомните о структуре этого набора и перенесите ее преимущество в свою конструкцию.
<div class=up>Level 1
<div>Level 2</div>
<div>Level 2</div>
<div>Level 2</div>
</div>
<div class=up>Level 1
<div>Level 2</div>
<div>Level 2</div>
<div>Level 2</div>
</div>
Здесь элементы с классом up - элементы братья, что уже без всяких премудростей позволяет обратиться к ним и к каждому индивидуально, а также и их дочерним элементам, и изменять их параметры для всех стразу. А ваша самоапал, только перебором индивидуальным со сравнением.
Вы же городите что-то, что не облегчает, а затрудняет управление структурой. Хотите маяться с цифрами, ну тогда уж напишите свой селектор, который бы ковырялся в ваших атрибутах. Так что думайте. | |
|
|
|
|
|
|
|
для: confirm
(13.11.2014 в 20:17)
| | а если будет три вложения? | |
|
|
|
|
|
|
|
для: technic611
(13.11.2014 в 20:25)
| | Да хоть сотню, дело тот не в их количестве, а в организации структуры.
Потратьте вы в конце концов время не на вопросы, а на изучения раздело jQuуry. Коли изучите, то сделате вывод, что иерархия вложения (дерево), это уже структура, которой можно эффективно управлять. Если не хватает для управления самой структуры, то "легкими добавками" можно это устранить.
Вы же идете путем как можно более затратным и не эффективным. | |
|
|
|
|
|
|
|
для: confirm
(13.11.2014 в 20:32)
| | <div class=up>Level 1
<div class=up2>Level 2</div>
<div class=up3>Level 3</div>
<div class=up4>Level 4</div>
<div class=up3>Level 3</div>
<div class=up2>Level 2</div>
<div class=up2 >Level 2</div>
</div>
<div class=up>Level 1
<div>Level 2</div>
<div>Level 2</div>
<div>Level 2</div>
</div>
так будет? | |
|
|
|
|
|
|
|
для: technic611
(13.11.2014 в 20:40)
| | Что будет?
Не думайте, что я вас заставляю делать так, как мне хочется. Можете вернуться к своим цифрам, мне собственно все равно.
Я предлагаю ознакомиться с материалом, и не гадать, а подумать, что означает структура. Не буду расписывать на div, проще уже готовую написать на ul-li. И уже только структура которая имеет вложения, а значит на любом из уровней есть соседние элемента (братья), к которым можно так и обратиться, позволяет управлять ей.
<script>
$(function() {
$('li').click(function() {
$(this).parent().children().css('backgroundColor','#fff');
$(this).siblings().css('backgroundColor','#f00');
});
});
</script>
</head>
<body>
<ul>
<li>Level
<ul>
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ul>
</li>
<li>Level
<ul>
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ul>
</li>
<li>Level
<ul>
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ul>
</li>
</ul>
|
Сравните со своими проверками отступов - что выгоднее? Это главное, что необходимо понять. И вложений может быть неограниченное количество, у если каждому уровню соседних элементов указать одно имя класса, то этого достаточно для обращения к любому уровню. Можно поступить и иначе, главное в том, что для управления структурой достаточно простых и эффективных инструментов. Вы же посредством стиля пытаетесь эмулировать вложенность, что можно, но управлять сложнее. | |
|
|
|
|
|
|
|
для: confirm
(13.11.2014 в 21:54)
| | ну вы уж совсем другое предложили, эти варианты предлагаются в гугле. мне нужно решить проблему с моим вариантом, а не переписывать код на php. который я плохо знаю... | |
|
|
|
|
|
|
|
для: technic611
(13.11.2014 в 22:46)
| | Это не гугл, это структура с вложением, с таким же успехом ее можно описать и DIV элементами. | |
|
|
|
|
|
|
|
для: confirm
(13.11.2014 в 22:57)
| | покажите пример? так что бы не переписывать код php | |
|
|
|
|
|
|
|
для: technic611
(13.11.2014 в 23:17)
| | Ну зрасьте, а откуда я знаю ваш код.
Лучше вы полную html-структуру свою опишите и все что нужно делать с ней поясните. | |
|
|
|
|
|
|
|
для: confirm
(13.11.2014 в 23:23)
| | нужно чтобы при клике на блок class="trg_no_active открывались скрытые блоки, которые находятся под тем блоком на который кликнули. но нужно открыть не все а только которые имеют отступ текущий+25. т.е. если кликнем на блок который имеет отступ 25 то открыть 25+25=50 отступ
<div align="center" id="wrapper">
<div style="width: 990px; height: 40px;">
<div class="block_for_users_name" style="width: 120px;">Логин</div>
<div class="block_for_users_name" style="width: 80px;">Пароль</div>
<div class="block_for_users_name" style="width: 200px;">Название</div>
<div class="block_for_users_name" style="width: 40px;">А</div>
<div class="block_for_users_name" style="width: 40px;">B</div>
<div class="block_for_users_name" style="width: 40px;">C</div>
<div class="block_for_users_name" style="width: 40px;">D</div>
<div class="block_for_users_name" style="width: 40px;">прицеп</div>
<div class="block_for_users_name" style="width: 120px;">Город</div>
<div class="block_for_users_name" style="width: 100px;">Права</div>
<div class="block_for_users_name" style="width: 150px;">Действия</div>
</div>
<div style="width: 990px; height: 40px; "><div style="margin-left:0px; width: 120px; text-align:left" class="block_for_users">
<div>
<div class="trg_no_active" data="0"></div>
<div style="float:left">elisov</div>
</div></div>
<div class="block_for_users" style="width: 80px;">698698</div>
<div class="block_for_users" style="width: 200px;">Елисов Алексей</div>
<div class="block_for_users" style="width: 40px;">120</div>
<div class="block_for_users" style="width: 40px;">120</div>
<div class="block_for_users" style="width: 40px;">120</div>
<div class="block_for_users" style="width: 40px;">120</div>
<div class="block_for_users" style="width: 40px;">120</div>
<div class="block_for_users" style="width: 120px;"></div>
<div class="block_for_users" style="width: 100px; padding-top:3px;"><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:25px; width: 120px;" data="25" class="block_for_users">
<div class="trg_no_active" data="25"></div>
<div style="float:left">Anna72</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:25px; width: 120px;" data="25" class="block_for_users">
<div class="trg_no_active" data="25"></div>
<div style="float:left">zina123</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:25px; width: 120px;" data="25" class="block_for_users">
<div class="trg_no_active" data="25"></div>
<div style="float:left">Lena1122</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:50px; width: 120px;" data="50" class="block_for_users">
<div class="trg_no_active" data="50"></div>
<div style="float:left">Vova1212</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:25px; width: 120px;" data="25" class="block_for_users">
<div class="trg_no_active" data="25"></div>
<div style="float:left">Xeniya</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:50px; width: 120px;" data="50" class="block_for_users">
<div class="trg_no_active" data="50"></div>
<div style="float:left">Tanya</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:25px; width: 120px;" data="25" class="block_for_users">
<div class="trg_no_active" data="25"></div>
<div style="float:left">Iranovak</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:25px; width: 120px;" data="25" class="block_for_users">
<div class="trg_no_active" data="25"></div>
<div style="float:left">Kolya1</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:25px; width: 120px;" data="25" class="block_for_users">
<div class="trg_no_active" data="25"></div>
<div style="float:left">Margo1</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:25px; width: 120px;" data="25" class="block_for_users">
<div class="trg_no_active" data="25"></div>
<div style="float:left">Most58</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:25px; width: 120px;" data="25" class="block_for_users">
<div class="trg_no_active" data="25"></div>
<div style="float:left">Er-4141</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:50px; width: 120px;" data="50" class="block_for_users">
<div class="trg_no_active" data="50"></div>
<div style="float:left">Georgiy78</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:25px; width: 120px;" data="25" class="block_for_users">
<div class="trg_no_active" data="25"></div>
<div style="float:left">Saratov64</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:50px; width: 120px;" data="50" class="block_for_users">
<div class="trg_no_active" data="50"></div>
<div style="float:left">Galina64</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:50px; width: 120px;" data="50" class="block_for_users">
<div class="trg_no_active" data="50"></div>
<div style="float:left">Marks64</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:50px; width: 120px;" data="50" class="block_for_users">
<div class="trg_no_active" data="50"></div>
<div style="float:left">Saransk</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:25px; width: 120px;" data="25" class="block_for_users">
<div class="trg_no_active" data="25"></div>
<div style="float:left">Tonya1</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:50px; width: 120px;" data="50" class="block_for_users">
<div class="trg_no_active" data="50"></div>
<div style="float:left">DBRNJHBZ</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:50px; width: 120px;" data="50" class="block_for_users">
<div class="trg_no_active" data="50"></div>
<div style="float:left">RUSLAN</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:50px; width: 120px;" data="50" class="block_for_users">
<div class="trg_no_active" data="50"></div>
<div style="float:left">MARAT</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:50px; width: 120px;" data="50" class="block_for_users">
<div class="trg_no_active" data="50"></div>
<div style="float:left">Aleksey</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:25px; width: 120px;" data="25" class="block_for_users">
<div class="trg_no_active" data="25"></div>
<div style="float:left">Oksana111</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:25px; width: 120px;" data="25" class="block_for_users">
<div class="trg_no_active" data="25"></div>
<div style="float:left">Nadejda11</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:25px; width: 120px;" data="25" class="block_for_users">
<div class="trg_no_active" data="25"></div>
<div style="float:left">venera</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div class="block_for_users_no_active">
<div style="margin-left:25px; width: 120px;" data="25" class="block_for_users">
<div class="trg_no_active" data="25"></div>
<div style="float:left">Stpatrik</div>
</div>
<div class="block_for_users" style="width: 100px; padding-top:3px; "><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
<div style="width: 990px; height: 40px; "><div style="margin-left:0px; width: 120px; text-align:left" class="block_for_users">
<div>
<div class="trg_no_active" data="0"></div>
<div style="float:left">shamsheev</div>
</div></div>
<div class="block_for_users" style="width: 80px;">5743567</div>
<div class="block_for_users" style="width: 200px;">Юрий</div>
<div class="block_for_users" style="width: 40px;">180</div>
<div class="block_for_users" style="width: 40px;">180</div>
<div class="block_for_users" style="width: 40px;">220</div>
<div class="block_for_users" style="width: 40px;">220</div>
<div class="block_for_users" style="width: 40px;">220</div>
<div class="block_for_users" style="width: 120px;"></div>
<div class="block_for_users" style="width: 100px; padding-top:3px;"><div class="icon_for_blocked"></div><div class="icon_for_add_users"></div><div class="icon_for_add_request"></div></div>
<div class="block_for_users" style="width: 150px;"><span>Изменить</span> </div>
</div>
</div>
|
| |
|
|
|
|
|
|
|
для: technic611
(13.11.2014 в 23:34)
| | Чтобы управлять и было удобно управлять DOM-структурой объектов, для этого и нужно продумать таковую структуру.
<div align="center" id="wrapper"> - и у вас все нормально?
<div style="width: 990px; height: 40px;"> - а с чего такая уверенность, что все помещенное в этом блоке влезет в 40px? У меня оно естественно не влазит, каша на экране, и что я должен делать?
class="trg_no_active - и как щелкать, если он пустой?
Я ожидал другого, и давайте не так. Опишите словами то, что вы хотите сделать, то есть есть данные, которые представлены ...., эти данные нужно: вывести/редактировать .... при этом желательно следующее управление данными: скрывать/показывать .... потому что ....
Другими словами, опишите задачу сначала. | |
|
|
|
|
|
|
|
для: confirm
(14.11.2014 в 10:38)
| | я лучше поищу другой форум... | |
|
|
|
|
|
|
|
для: technic611
(14.11.2014 в 12:01)
| | Как хотите, но ваш код слишком громоздкий, и хотя я не знаю самой задачи для которой он создан, но уверен, что сделать его можно гораздо легче и удобней. | |
|
|
|
|
|
|
|
для: confirm
(14.11.2014 в 12:10)
| | вообщем помощи нигде не получил. додумал такой вариант. уже лучше. но почему в браузере атрибут закрывающий сам подставляется.
$(".general_block_for_users").each(function(){
var c=$(this).attr("parent");
var p=$(this).next().attr("parent");
var t=Number(c);
var n=Number(p);
var d = [];
if (t>n) {
var t=t/25;
for (var i = 1; i <= t; i++) {
d.push("</div>");
}
d.join('\n');
$(this).after(d);
}else {var x=$(this).html();
$(this).after("<div class='general_block_for_users' parent='"+t+"'>"+x+"");
$(this).remove();
}
});
|
что я пытаюсь делать. собираю коллекцию div с классом. потом проверяю есть ли после текущего следующий элемент который имеет больший атрибут parent. Если есть. удаляю текущий блок и создаю свой вставляю в него содержимое но без закрывающего тега. я наверное что-то упустил. | |
|
|
|
|
|
|
|
для: technic611
(15.11.2014 в 23:12)
| | И чем лучше?
Вот так $('selector').after('<div/>') - будет помещен <div></div>
а вот так, без закрывающего тега, это уже из рук вон
$('selector').after('<div>'+var)
нужно
$('selector').after('<div>'+var+'</div>) | |
|
|
|
|
|
|
|
для: confirm
(16.11.2014 в 10:02)
| | Ну а как мне тогда поместить дочерние блоки в родительский??
Мне и необходимо блок не закрывать а закрыть только после дочерних его | |
|
|
|
|
|
|
|
для: technic611
(16.11.2014 в 11:13)
| | Вставить дочерний узел в родительский это так:
$('div').append('<span>text</span>');
//или так
$('div').html('<span>text</span>');
|
что вам известно.
У вас вместо html-кода, куча пустых тегов не понятно для чего. Если они для динамического заполнения, зачем они нужны на странице? Если они для сокрытия/отображения их содержимого, то почему пустые? Если уж и парится со стилями, то почему не достаточно:
alert(parseInt($('div').css('margin-left')));
<div style="margin-left:10px;"></div>
|
Зачем самопальные атрибуты и Number?
К чему мусор в виде d.join('\n'), если для html это ничего не значит, если не принадлежит к примеру тегу PRE?
Сперва верстается html-код, более того, та его часть, которая будет управляться динамически должна быть продумана для такого управления. А РНР, это всего лишь код выводящий даже не html, а строки, а описать можно любое, что угодно для вывода. Дорожить же РНР кодом, который выводит непотребное, так к чему это?
Такое впечатление, что вы решаете не конкретно поставленную задачу, а пытаетесь подогнать под ответ нечто. | |
|
|
|
|
|
|
|
для: confirm
(16.11.2014 в 12:04)
| | опять не понял к чему вы это все написали!? зачем мне <span>? я спрсоил есть ли возможность убрать закрывающий тег </div> | |
|
|
|
|
|
|
|
для: technic611
(16.11.2014 в 12:45)
| | Какая разница что за узел является дочерним, вы спросили как вставляется, вам ответили. И только так, и никак иначе. А это означает, что сперва надо добавить родительский на страницу, а затем только вставлять в него, либо открыть html-строкой тег, заполнить его содержимым (html-кодом описывающим вложения), затем добавить закрывающий тег, и только затем вставить это все в документ. | |
|
|
|
|
|
|
|
для: confirm
(16.11.2014 в 13:10)
| | вы видимо даже не посмотрели мою ситуацию и пытаетесь объяснить мне очевидные вещи. при загрузке документа у меня нет ни родительского ни дочернего и так далее. у меня блоки идут друг за другом. чтобы вставить дочерние в родительский. нужно закрывающий тег перенести после дочерних. как это сделать я не пойму. моя конструкция должна работать, но не работает | |
|
|
|
|
|
|
|
для: technic611
(16.11.2014 в 13:15)
| | Если бы я не смотрел на то, что вы пишите, я бы вам вообще ничего бы и не писал.
Именно потому, что вы пишите, я и делаю заключение - все это необдуманно, и это мягко сказано. Я даже не удивляюсь тому, почему вы не получили ответа и на других каких-то форумах, ибо одного взгляда на ваши "танцы с бубном" достаточно понять - это хлам.
var m = '<div>';
в цикле - m + 'какой то тег с содержимым'
после цикла
m + '</div>'
а теперь m можно вставить на страницу
...
и масса других приемов
|
Что еще по этому поводу нужно пояснять? Хотите чтобы я прописал конкретно ваше? Так для меня то что вы пишите полный бедлам, что к чему там... для меня загадка. | |
|
|
|
|
|
|
|
для: confirm
(16.11.2014 в 13:27)
| | такое ощущение. что форум продали каким то школьникам. раньше на любой вопрос даже бредовый можно получить ответ. а вы мне опять очевидные вещи написали. к чему это?????
хорошо вот вам реальная задача. перенесите один блок в другой? чтобы один был вложен в другой согласно уровню
<div class='level0'></div>
<div class='level1'></div>
<div class='level2'></div>
<div class='level2'></div>
<div class='level3'></div>
<div class='level0'></div> | |
|
|
|
|
|
|
|
для: technic611
(16.11.2014 в 13:34)
| | Вот что "школьник", если бы вы таковым бы не являлись, то такого бардака на странице что вы описываете уж точно не было бы. Это первое.
Втрое, я не отвечаю на бредовые вопросы, в этом нет смысла.
Ну а третье, я вас просил опишите задачу, ее идею, чтобы можно было бы посоветовать что-то полезное. Вы собственно просто "послали...." и пошли на другой форум.
И что вы хотите?
Уровни вполне можно и нужно описать на сервере при выдачи страницы, я например такого мнения. Делается это ровно также как с той же ul-li конструкцией, ориентируясь по условию октрывать/закрывать вложение. Скажете для DIV, это будет совершенно иное?
Я вам все примеры и описывал и приводил, на которые был вопрос. Другого я в любом случае не могу написать, ибо другого нет. А что во что, так это вам виднее - читайте примеры внимательно, делайте. | |
|
|
|
|
|
|
|
для: confirm
(16.11.2014 в 14:37)
| | вы видимо обычный модератор. ваша задача отписать человеку смотрите примеры. так? я не увидел ни одного вашего решения | |
|
|
|
|
|
|
|
для: technic611
(16.11.2014 в 14:41)
| | Нет, я обычный посетитель.
Я вам не обязан писать готовые решения, а вот посоветовать что-то могу, но только в том случае, если с вашей стороны будет конкретное описание задачи. Ее так и не последовало.
На вопросы "конкретно как это?" я вам давал ответы, но видимо у вас просто нет элементарных знаний в области DOM-JS, и без закорючек именно из вашего вы их не понимаете, или же просто не умеете читать и вникать. | |
|
|
|
|
|
|
|
для: confirm
(16.11.2014 в 14:49)
| | хорошо вот вам реальная задача. перенесите один блок в другой? чтобы один был вложен в другой согласно уровню
<div class='level0'></div>
<div class='level1'></div>
<div class='level2'></div>
<div class='level2'></div>
<div class='level3'></div>
<div class='level0'></div> | |
|
|
|
|
|
|
|
для: technic611
(16.11.2014 в 15:15)
| | Это не реальная задача, это как раз и есть "идиотизм", в том плане, что не должно быть такого на клиенте ни в коем случае. Клиенту нужно отдавать html-структуру, а не бредовый набор html-кода, из которого он обязан сделать необходимую его структуру.
Вы вообще думаете о том, что творите или нет? Сколько вам можно повторять - HTML это то с чем придется работать клиентскому коду, и будьте добры думать над ним, а не выплевывать всякую хрень неудобоваримую.
Задача - это идея, идея - это видение поведения области страницы, ее взаимодействия с пользователем, область - это не высосанный хрен знает из чего html-хлам, а продуманный html-код под это взаимодействие, html-код - это описание данных, которые этот код обслуживает.
А данными, именно данными, которые должны быть облечены в нужную структуру должен заниматься сервер, а не клиент, клиент только может добавлять в готовую структур узлы, управлять узлами и т.п..
А посему, это должно базироваться на следующем:
<?
$a = array(
array('level'=>0, 'data'=>'text1'),
array('level'=>1, 'data'=>'text2'),
array('level'=>2, 'data'=>'text3'),
array('level'=>2, 'data'=>'text4'),
array('level'=>0, 'data'=>'text5'),
array('level'=>1, 'data'=>'text6'),
array('level'=>2, 'data'=>'text7'),
array('level'=>2, 'data'=>'text8')
);
for($i=0, $k=count($a); $i<$k; $i++) {
if($i) $dir .= $a[$i-1]['level'] == $a[$i]['level'] ? '</div>' : @str_repeat('</div>', $a[$i-1]['level']-$a[$i]['level']+1);
$dir .= '<div style="margin-left:'.(10*$a[$i]['level']).'px">' . $a[$i]['data'];
}
echo $dir . '</div>';
|
Думать надо, понимаете - думать, а не искать в примерах вам показанных именно "ваши закорючки", и не обвинять всех в том, что обмелели до уровня учеников и путнего подсказать не могут.
Решать идиотские никчемные задачи, это не только не интересно, но и с точки зрения затрат времени просто глупо. | |
|
|
|