Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   различные операции с child div'ами (https://javascript.ru/forum/misc/29154-razlichnye-operacii-s-child-div%27ami.html)

codingfighter 17.06.2012 17:40

пост удален пост удален
 
удалите тему, т.к. решений много но материалы которые помогут решить задачу можно найти на просторах гугла. а задача не такая уж и сложная.

bot87 17.06.2012 18:11

http://jquery.page2page.ru/index.php... D0%B2_jQuery

особенно посмотреть абзац Работа с набором элементов

codingfighter 17.06.2012 20:23

пост удален

Deff 17.06.2012 20:41

Цитата:

Сообщение от codingfighter
так, хорошо, а вот как выбрать кол-во элементов до данного не совсем понятно

Выделите начало и конец теста - на jQuery я нарисую

codingfighter 17.06.2012 20:44

пост удален

Dim@ 17.06.2012 20:45

Элементарно и без JQ
<div id="master_list">
   <div id="somediv1">data1</div>
   <div id="somediv2">data2</div>
   <div id="somediv3">data3</div>
   <div id="somediv4">data4</div>

</div>
<script type='text/javascript'>
var childs = document.getElementById('master_list').childNodes;
alert("Кол-во дочерниз элементов из дива равно: " + (childs.length - 1) / 2);
for (i = 0, k = 0; i < childs.length - 1; i += 2, k = i / 2){
 if (i == 0) alert('Искл. ситуация первый див');
 if (i > ((childs.length - 1) / 2 )) alert('Искл. ситуация последний див');
 if (k + 1 == 0) alert('Искл. ситуация до данного нету дивов');
 if (((childs.length - 1) / 2 - k - 1) == 0) alert('Искл. ситуация после данного нету дивов');
 alert('До данного дива (' + (k + 1) + '): ' + k +' дивов, а после него ' + ((childs.length - 1) / 2 - k - 1));

}  
</script>

Deff 18.06.2012 01:04

<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>

<style>
 #master_list > div {
 border:1px solid red;
 width:200px;
 padding:0 0 0 4px;
 margin:4px 0 0 0;

}
</style>
Клик по div
<br />
 <div id="master_list">

	<div id="somediv1">data</div>
	<div id="somediv2">data</div>
	<div id="somediv3">data</div>
	<div id="somediv4">data</div>
	<div id="somediv5">data</div>

 </div>

<br />

 <button onclick="div_Id_Test('somediv1')">Test Определенного div</button>


<script type="text/javascript">

var Length	 //Общая длина массива div
var Id		 //Id текущего div
var befLength;	 //длина массива до текущего div
var BeforId;	 //Id предыдущего div
var AfterId;	 //Id Следущего div

$("#master_list > div[id]").live('click', function() {

   Length = $("#master_list > div[id]").length
   Id = $(this).attr("id");

    $("#master_list > div[id]").each( function(j) {
	if($(this).attr("id")==Id){
	befLength=j;
	BefNum=j-1;  if(!j)BefNum=Length+1; //Бубен для первого в списке
	BeforId=$("#master_list > div[id]").eq(BefNum).attr("id")
	AfterId=$("#master_list > div[id]").eq(j+1).attr("id")
	return false;
	}
    });
	if(NoTestClick)ALERT_func ()
});

//Тестируем id дочернего div и его окружения
var NoTestClick = true;
function div_Id_Test (ID) {NoTestClick = false;

   $("#master_list > div[id='"+ID+"']").click();
   ALERT_func ();
   NoTestClick = true;
} 

//****************************************//
//Данную функцию и все её вызовы можно затем  убрать,
//оно ток для примера и вывода на экран
function ALERT_func () { 
var Out='\
Общая длина массива div = '+Length+'\n\
Длина массива до текущего div = '+befLength+'\n\
Id текущего div = '+Id+'\n\
Id предыдущего div = '+BeforId+' \n\
Id Следущего div = '+AfterId+'';
alert(Out);
}
</script>


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