Как я скрываю родительский элемент с помощью jQuery?

Водосливное свойство может использоваться для очистки плаваний без дополнительной разметки:

.container { overflow: hidden; }

Это работает на все браузеры кроме IE6, где все, что необходимо сделать, включают hasLayout (масштабирование, являющееся моим предпочтительным методом):

.container { zoom: 1; }

http://www.quirksmode.org/css/clearing.html

8
задан dfrankow 21 August 2009 в 09:03
поделиться

2 ответа

Разве вы не можете сделать это:

$(function() {
  $("a.foo").click(function() {
    $(this).parent().hide();
    return false;
  });
});

с:

<li class="fooli"><a class="foo" href="#">anchor</a></li>
<li class="fooli"><a class="foo" href="#">anchor</a></li>
20
ответ дан 3 November 2019 в 14:19
поделиться

$ (...) в jQuery никогда не является отдельным элементом HTML; это всегда их список.

Вы можете использовать .get () для преобразования в обычный список Javascript или, лучше, использовать . each () :

$(anchor).each(function() { alert(this) });

Это даст вам что-то вроде [object HTMLAElement] . Вам нужно будет использовать for / in , чтобы полностью изучить его, но .tagName и .innerHTML , вероятно, достаточно хороши, чтобы определить, где вы находитесь.

Мне также нравится использовать $ (...). Css ('outline', '1px solid lime') для поиска элементов. Из-за этого их трудно пропустить и легко определить с помощью Firebug.

Дополнение: Я определенно согласен с приведенным выше ответом об отделении вашего Javascript от вашего HTML. Не встраивайте JS.

innerHTML , вероятно, достаточно хороши, чтобы определить, где вы находитесь.

Мне также нравится использовать $ (...). css ('outline', '1px solid lime') , чтобы найти элементы. Из-за этого их трудно пропустить и легко определить с помощью Firebug.

Дополнение: Я определенно согласен с приведенным выше ответом об отделении вашего Javascript от вашего HTML. Не встраивайте JS.

innerHTML , вероятно, достаточно хороши, чтобы определить, где вы находитесь.

Мне также нравится использовать $ (...). css ('outline', '1px solid lime') , чтобы найти элементы. Из-за этого их трудно пропустить и легко определить с помощью Firebug.

Дополнение: Я определенно согласен с приведенным выше ответом об отделении вашего Javascript от вашего HTML. Не встраивайте JS.

7
ответ дан 3 November 2019 в 14:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: