В ваших функциях this
относится к элементу, к которому вы привязали функцию.
Вот демонстрация:
$("video").attr("poster", function() {
console.log("This refers to: " + this);
console.log(this);
});
Но кажется, что вы хотите получить атрибут id
из содержащего для каждого поста.
-
Я предлагаю вам назначить каждому посту класс «post».
Затем вы можете выбрать нужный пост из ваших функций, используя jQuery
closest()
.
-
Я рекомендую использовать атрибут данных , например, data-id
, а не id
,
, так как атрибут id
имеет свое специальное назначение .
-
Я рекомендую удалить элементы
и привязать обработчик click
непосредственно к элементам .thumb
. Таким образом, вы упростите структуру HTML и вам не понадобятся встроенные атрибуты onclick=""
.
Вот рабочий пример:
$("video").attr({
'poster': function() {
var id = $(this).closest('.post').data('id');
return "https://WebSite" + id + "-.jpg";
},
'src': function() {
var id = $(this).closest('.post').data('id');
return "https://WebSite" + id + "-preview.mp4";
}
});
$(".thumb").on('click', function(e) {
e.preventDefault();
var id = $(this).closest('.post').data('id');
changeVideo(id);
});
function changeVideo(id) {
console.log('Changing Video: ' + id);
}
first post
second post
Это приводит к такой структуре: [ 1146]
И jQuery связал обработчик click
с каждым .thumb
, который передаст соответствующий data-id
в функцию changeVideo()
.
задан jamesfm 4 May 2009 в 19:34
поделиться
3 ответа
Возможно, лучше всего использовать шаблон под названием «Вложенный набор», который позволяет получить произвольное поддерево в одном запросе. Это особенно полезно, если узлами не так часто манипулируют: Управление иерархическими данными в MySQL .
В идеальном мире структура сущностей предоставит возможности для сохранения и запроса данных с использованием этого шаблона данных.
ответ дан 4 December 2019 в 03:17
поделиться
Все возможно с Entity Framework, но вы должны взломать и пробиться к нему. В базе данных, с которой я сейчас работаю, слишком много «таблиц держателей», поскольку, например, Баллы используются совместно как командами, так и пользователями. Блог может быть и у пользователей, и у групп.
Когда вы говорите, что 25 000 узлов, вы имеете в виду навигационные свойства? Если так, то я думаю, что было бы сложно получить доступ к данным на месте. Навигация, поиск и т. Д. С помощью структуры сущностей несложен, но я склонен моделировать на бумаге, а затем создавать базу данных на основе того, как я хочу ориентироваться при использовании структуры сущностей. Похоже, у вас нет такой возможности.
ответ дан 4 December 2019 в 03:17
поделиться
Спасибо за эти предложения.
Я начинаю понимать, что ответ состоит в том, чтобы реконструировать данные в базе данных - либо по принципу вложенных наборов, как предлагает Георг, либо, возможно, по таблице транзитивного замыкания, с которой я только что столкнулся.
Таким образом, я надеюсь получить два ключевых преимущества:
a) более быстрый запрос к произвольным поддеревьям
b) модель данных, которая больше не требует рекурсивных запросов - так что, возможно, она станет легко доступной для Entity Framework!
Всегда удивительно, как часто правильный ответ на сложную проблему - не решать ее, а вместо этого делать что-то другое!
ответ дан 4 December 2019 в 03:17
поделиться
Другие вопросы по тегам:
Похожие вопросы: