Вкладки пользовательского интерфейса jquery, использующие DIV вместо UL для навигации - PullRequest
0 голосов
/ 07 августа 2009

Я немного новичок в JS, и это заставляет меня чесать голову, как сумасшедшего.

Я хочу использовать DIV с кучей якорей внутри для навигации вместо обязательного (я думаю?) UL.

Я нашел фрагмент кода, который делает это, но я не могу понять, что это имеет смысл.

    this.list = this.element.children('ul:first');
    this.lis = $('li:has(a[href])', this.list);
    this.anchors = this.lis.map(function() { return $('a', this)[0]; });
    this.panels = $([]);

Теперь изменим

ul:first

до

div:first 

работает, но я все еще должен обернуть все свои А в ЛИ. Это должно происходить во второй строке, но я действительно не могу понять, что с этим делать.

Я знаю, что это небольшой фрагмент довольно большого сценария, но я надеюсь, что он подойдет. Весь код доступен на ui.jquery.com (как вы, скорее всего, уже знаете), и я могу опубликовать остальную его часть, если необходимо.

Заранее большое спасибо за вашу помощь.

Цель состоит в том, чтобы заменить UL и LI одним DIV, который не содержит ничего, кроме A Это сделает укладку намного проще.

1 Ответ

1 голос
/ 07 августа 2009
this.list = this.element.children('div');
this.lis = $('a[href]', this.list);
this.anchors = $('a[href]', this.list);
this.panels = $([]);

Попробуйте это.

И я сказал, что немного скоро, но это было легко исправить. Просто добавьте это здесь для любого, кто может искать это. Решение Чача работает, но вкладки не будут назначены соответствующие классы, когда они выбраны. Это исправлено удалением .closest ('li') из строк 273 и 281 в ui.tabs.js. Это будет исправлено, и вы можете использовать классы как обычно - Матиас Нильсен 12 минут назад

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...