Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.09.2010, 23:28
Аспирант
Отправить личное сообщение для cristalith Посмотреть профиль Найти все сообщения от cristalith
 
Регистрация: 30.10.2009
Сообщений: 35

Найти родителя с заданным классом и блок, идущий за ним
На странице есть много подобных участков, div с класом "one" внутри которых ссылка с классом "two":
<div class="one">
  <table>
    <tr>
      <td><a class="two" href="#">Заметки</a></td>
      <td><a href="#">Подробнее</a></td>
    </tr>
  </table>
  <div class="123"></div>
</div>
<div class="todisplay"></div>

И jquery:
$(".two").click(
   function() {
     $(".todisplay").css("display","block");
   }
);

Как изменить код jquery, чтобы ("display","block") срабатывало только на "todisplay" идущем сразу за div внутри которого была нажата сслыка "two"? Т.е. чтобы все остальные блоки "todisplay" оставались невидимыми.
Ответить с цитированием
  #2 (permalink)  
Старый 07.09.2010, 12:33
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

$(".two").click( 
   function() { 
     $(this).closest(".one").next().css("display","block"); 
   } 
);
Ответить с цитированием
  #3 (permalink)  
Старый 07.09.2010, 13:23
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

Хм... Я бы использовал parents('.one')... e1f,
чем было бы хуже?
__________________
Не хочешь, чтобы тебя послали? Не спрашивай куда идти.
Ответить с цитированием
  #4 (permalink)  
Старый 07.09.2010, 13:43
Аспирант
Отправить личное сообщение для cristalith Посмотреть профиль Найти все сообщения от cristalith
 
Регистрация: 30.10.2009
Сообщений: 35

e1f,
inGray,
спасибо, работает, буду знать про обе функции.
Еще возникла проблема, при нажатии на ссылку срабатывает не только js но и href="#", как это можно решить?
Ответить с цитированием
  #5 (permalink)  
Старый 07.09.2010, 13:49
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

$(".two").click( 
   function(e) {
     $(this).closest("div.one").next().css("display","block");
     (e = e || window.event).preventDefault? e.preventDefault() : (e.returnValue = false);
   } 
);
Ответить с цитированием
  #6 (permalink)  
Старый 07.09.2010, 14:18
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Если обработчик устанавливается через jQuery, в IE объекту события дописывается метод preventDefault().

http://forum.jquery.com/topic/event-...default-and-ie
Ответить с цитированием
  #7 (permalink)  
Старый 07.09.2010, 14:54
Аспирант
Отправить личное сообщение для cristalith Посмотреть профиль Найти все сообщения от cristalith
 
Регистрация: 30.10.2009
Сообщений: 35

exec,
спасибо, работает. Эта строчка это какай-то вид сокращенной записи js ?
subzey,
не совсем понял где мне прописывать preventDefault(), или в этом случае (e = e || window.event).preventDefault? e.preventDefault() : (e.returnValue = false); уже это прописанно?
Ответить с цитированием
  #8 (permalink)  
Старый 07.09.2010, 15:11
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

Тут же все написано...
если существует preventDefault , то preventDefault, иначе (e.returnValue = false)
__________________
Не хочешь, чтобы тебя послали? Не спрашивай куда идти.
Ответить с цитированием
  #9 (permalink)  
Старый 07.09.2010, 15:33
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

inGray,
я к тому, что он всегда существует при таком раскладе
Ответить с цитированием
  #10 (permalink)  
Старый 07.09.2010, 15:38
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

хм.. Досоздается то, что МС не доделали? Похвально )
__________________
Не хочешь, чтобы тебя послали? Не спрашивай куда идти.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищю javascript которые немогу найти...и есть такие вообще?...помогите найти... rashid86 Общие вопросы Javascript 4 08.03.2010 20:22
Скрытие первой ячейки с заданным классом NikS jQuery 2 07.01.2010 16:15
Помогите книгу найти по jQuery micscr Оффтопик 4 14.11.2009 00:42
как найти нужный объект? `p r o x y jQuery 2 05.05.2009 01:12