Jquery для детей fieldset

0

Я пытаюсь создать сворачивающиеся поля, идея заключается в том, что вы нажимаете легенду, и отображаются дочерние поля.

Проблема в том, что область видимости не работает, поэтому

$('.field', $(this).parent() ).show();

Если я нажму букву, я ожидал, что поля с оболочкой (.field) в контексте ($ (this).parent()) будут показаны, однако все поля будут выполнены

Что я делаю не так?

ОТВЕТ

$('.field', $(this).closest('fieldset') ).show();

редактировать есть несколько полей/легенд

некоторые из html http://pastie.org/8953182

  • 4
    Родитель, вероятно, не тот элемент, также публикуйте HTML
Теги:
scope
toggle

2 ответа

0

Насколько я понимаю, вы хотите, чтобы братья и сестры из показанного предмета показывали?

$(this).parent().find('.field').show();

http://api.jquery.com/find/

  • 0
    Ваш код эквивалентен коду OP, однако быстрее
  • 0
    Трудно точно определить, что они ищут без соответствующего HTML :(
0

Вы можете использовать вот так:

//instead of this: $('.field', $(this).parent() ).show();// here $(this).parent() would be undefined.

ваш код работает со ссылкой: http://jsfiddle.net/C3988/


$('.field').filter(function(){
   return $(this).parent();
).show();

Или просто так:

$('.field').parent().show();

рабочая скрипка

Ещё вопросы

Сообщество Overcoder
Наверх
Меню