Как я использую платформу объекта с иерархическими данными?

В ваших функциях this относится к элементу, к которому вы привязали функцию.
Вот демонстрация:

$("video").attr("poster", function() {
  console.log("This refers to: " + this);
  console.log(this);
});

Но кажется, что вы хотите получить атрибут id из содержащего

для каждого поста.

  1. Я предлагаю вам назначить каждому посту

    класс «post».
    Затем вы можете выбрать нужный пост из ваших функций, используя jQuery closest() .

  2. Я рекомендую использовать атрибут данных , например, data-id, а не id,
    , так как атрибут id имеет свое специальное назначение .

  3. Я рекомендую удалить элементы и привязать обработчик click непосредственно к элементам .thumb. Таким образом, вы упростите структуру HTML и вам не понадобятся встроенные атрибуты onclick="".

Вот рабочий пример:

Это приводит к такой структуре: [ 1146]

И jQuery связал обработчик click с каждым .thumb, который передаст соответствующий data-id в функцию changeVideo().

10
задан jamesfm 4 May 2009 в 19:34
поделиться

3 ответа

Возможно, лучше всего использовать шаблон под названием «Вложенный набор», который позволяет получить произвольное поддерево в одном запросе. Это особенно полезно, если узлами не так часто манипулируют: Управление иерархическими данными в MySQL .

В идеальном мире структура сущностей предоставит возможности для сохранения и запроса данных с использованием этого шаблона данных.

6
ответ дан 4 December 2019 в 03:17
поделиться

Все возможно с Entity Framework, но вы должны взломать и пробиться к нему. В базе данных, с которой я сейчас работаю, слишком много «таблиц держателей», поскольку, например, Баллы используются совместно как командами, так и пользователями. Блог может быть и у пользователей, и у групп.

Когда вы говорите, что 25 000 узлов, вы имеете в виду навигационные свойства? Если так, то я думаю, что было бы сложно получить доступ к данным на месте. Навигация, поиск и т. Д. С помощью структуры сущностей несложен, но я склонен моделировать на бумаге, а затем создавать базу данных на основе того, как я хочу ориентироваться при использовании структуры сущностей. Похоже, у вас нет такой возможности.

0
ответ дан 4 December 2019 в 03:17
поделиться

Спасибо за эти предложения.

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

Таким образом, я надеюсь получить два ключевых преимущества:

a) более быстрый запрос к произвольным поддеревьям

b) модель данных, которая больше не требует рекурсивных запросов - так что, возможно, она станет легко доступной для Entity Framework!

Всегда удивительно, как часто правильный ответ на сложную проблему - не решать ее, а вместо этого делать что-то другое!

0
ответ дан 4 December 2019 в 03:17
поделиться
Другие вопросы по тегам:

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