Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: jQuery: обработка каждого элемента обернутого набора
 
 автор: OLi   (16.06.2011 в 12:41)   письмо автору
 
 

Сделал так:
$('#content>div').each(function() {
   var myValue  =  $(this).attr("title");
$("#chose").html("Вы выбрали: <b>"+myValue+"</b>");
});

Но возвращает опять 1 рез, даже если на странице несколько DIV c title

  Ответить  
 
 автор: cheops   (16.06.2011 в 12:45)   письмо автору
 
   для: OLi   (16.06.2011 в 12:41)
 

Так у вас #chose один, конечно туда будет только одно значение записываться, попробуйте вот так исправить, чтобы увидеть их все.
$('#content>div').each(function() { 
   var myValue  =  $(this).attr("title"); 
  $("#chose").html($("#chose").html() + myValue); 
});

  Ответить  
 
 автор: OLi   (16.06.2011 в 12:54)   письмо автору
 
   для: cheops   (16.06.2011 в 12:45)
 

Мне не надо, чтобы все title заносились в блок, а нужно, чтобы по клику заменялся title div'a в блоке div от каждого

  Ответить  
 
 автор: OLi   (16.06.2011 в 12:58)   письмо автору
 
   для: OLi   (16.06.2011 в 12:54)
 

по отдельности, по клику на каждый div, получать его title и отображать

  Ответить  
 
 автор: cheops   (16.06.2011 в 13:12)   письмо автору
 
   для: OLi   (16.06.2011 в 12:54)
 

Тогда нужно начать привязываться к событию click и выбирать значение из контекста функции (т.е. используя this).

  Ответить  
 
 автор: OLi   (16.06.2011 в 13:28)   письмо автору
 
   для: cheops   (16.06.2011 в 13:12)
 

$('#content>div').click(function(){ 


$('#content>div').each(function() {
    var myValue  =  $(this).attr("title");
$("#chose").html("Вы выбрали: <b>"+myValue+"</b>");
    });
 
    
}) 

Насчет this не понял

  Ответить  
 
 автор: cheops   (16.06.2011 в 13:40)   письмо автору
 
   для: OLi   (16.06.2011 в 13:28)
 

А зачем each? Делайте так
$('#content>div').click(function(){  
    var myValue  =  $(this).attr("title"); 
     $("#chose").html("Вы выбрали: <b>"+myValue+"</b>"); 
});

  Ответить  
 
 автор: OLi   (16.06.2011 в 13:45)   письмо автору
 
   для: cheops   (16.06.2011 в 13:40)
 

ХМ. заработало...просто в доках написано что attr берет лишь значение первого попавшегося под шаблон элемента...но а так работает..

  Ответить  
 
 автор: cheops   (16.06.2011 в 15:04)   письмо автору
 
   для: OLi   (16.06.2011 в 13:45)
 

Вы когда в обработчике пишите this
$(this).attr("title"); 
у вас берется не первый попавшийся, а именно тот, который выбран, так как this ссылается на контекст вызова, тот div-тэг в котором вызвана функция и попадает в this (это особенность JavaScript, её из функциональных языков заимствовали, т.е. this в JavaScript он здорово отличается от того же this в PHP или C++).

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования