Ответ Петра - правильное решение. Я просто добавляю это для полноты.
Когда вы вызываете orderBy...
для ссылки Firebase, база данных упорядочивает все дочерние узлы по указанному вами ключу / значению / дочернему элементу.
Если вы впоследствии вызовете startAt(...)
для запроса, он находит (первый) узел, который начинается с этого значения, и начинает , возвращая все результаты оттуда. Поэтому, если вы начнете с FKQLlqa
, он начнет возвращать ключи с FKQLlqa
, а затем вернет все ключи после него.
Если вы хотите вернуть дочерний узел (узлы) с определенным ключом / значением / потомком, вы должны использовать equalTo(...)
. Итак:
ref.orderByKey().equalTo(userUID).once("child_added", function(snapshot) {
...
Но, как уже сказал Питер, это просто более дорогой способ найти ребенка с известным ключом. Я настоятельно рекомендую использовать его лучший подход: ref.child(userUID).once("value"
.
HTML был предназначен для семантики (что вещи означают), не презентация (на что они похожи). С тех пор <ul>
представляет незаказанный список, и так как панель инструментов является концептуально просто списком объектов, это разумно. Даже StackOverflow делает это!
<div class="nav">
<ul>
<li><a href="/questions">Questions</a></li>
<li><a href="/tags">Tags</a></li>
<li><a href="/users">Users</a></li>
<li><a href="/badges">Badges</a></li>
<li><a href="/unanswered">Unanswered</a></li>
</ul>
</div>
UL
и LI
для списков. И Вы перечисляете набор ссылок (поднавигация, инструменты (?), и т.д.)
Одна возможная причина - у них есть разумное поведение нейтрализации низкосортные клиенты - т.е. это становится деревом. Но в действительности <ul>
и <li>
действительно просто опишите вложенные данные списка; с CSS, управляющей расположением, их исходное намерение является, в основном, просто удобством.
Вероятно, потому что кто-то, кто верит веб-стандартам, является одним истинным путем, повысил их как таковой. В конце концов, панель инструментов является списком значков!
Но мой индивидуальный подход к разметке - то, что при создании веб-приложения, которое включает некоторое приложение элемент UI как панель инструментов, Вам не придется обязательно создать все согласно веб-стандартам HTML, так как они не были созданы для повышения приложений, но для документов. В этом случае просто используйте любые работы лучше всего для Вас (как отделение со списком промежутков, с помощью имен классов для определения контекстной семантики для приложения).
Примечание: мой ответ относится конкретно к использованию панелей инструментов, не регулярной навигации в веб-сайтах.
Одна причина, еще не упомянутая, состоит в том, что запись меню как списки помогает поисковым системам проанализировать Ваш сайт лучше. Вершина поисковых систем строки сможет выяснить вложенные отделения и даже таблицы (в некоторых случаях), но всегда лучше сделать задание поискового робота легче избежать возможного беспорядка.
Править:
Ссылки согласно просьбе:
http://blog.fryewiles.com/seo/03-04-2008/ul-titles-nesting-uls-for-better-seo http://importantseotips.blogspot.com/2008/09/why-using-div-is-better-than-table-seo.html http://webdev.entheosweb.com/2008/02/24/why-i-switched-to-a-tableless-design/
Я на самом деле не мог найти много статей, конкретно обратившись к тегам ул. для SEO, таким образом, я должен буду квалифицировать свой ответ путем объявления моего мнения.
Я имею мнение, что использование незаказанного списка для представления menuing поможет поисковым роботам в корректном парсинге и индексации сайта. Обычно хорошо организованные данные (такие как список) предоставляют себя лучше и более быстрый crawlability. Организация Ваших данных хорошо значительно улучшит вероятность бота, правильно находящего Ваши ключевые слова и оценивающего Ваш сайт.
(Теперь, если только мое мнение о предмете было так же ценно как Larry Page's.;-))
Путем разрешения использования border-left/right это также избегает практики принуждения несемантических разделителей (например, вертикальные панели) в код в целях презентации, который также добавляет ненужное содержание для программ для чтения с экрана для чтения вслух. например.
<div class="nav">
<a href="/questions">Questions</a> |
<a href="/tags">Tags</a> |
<a href="/users">Users</a> |
<a href="/badges">Badges</a> |
<a href="/unanswered">Unanswered</a>
</div>