Я создаю RSS-ридер мультиканала для школы.
aList является отделением, которое охватывает каждый отдельный канал (объем подачи будет колебаться).
theTitle является отделением, которое будет переполнено атрибутом текущего канала. Кроме того, если нажато, это загрузит список атрибутов от текущего канала в theContent.
Я задаюсь вопросом, как я могу динамично загрузить атрибуты в theContent, когда theTitle нажат, так как theContent и theTitle будут групповыми отделениями (я не могу дать им идентификаторы).
Спасибо за Вашу справку заранее,
- Andrew
Используйте хорошую библиотеку Javascript, например Prototype или jQuery . Сейчас это кажется мелочным, но эти фреймворки сэкономят вам тонну времени в долгосрочной перспективе.
В обеих средах вы можете выбрать этот div с помощью:
$('div.theTitle')
С помощью jQuery вы можете:
$('div.theTitle').click( function() {
var title = $(this).text();
var contentDiv = $(this).siblings('div.theContent');
// Do something with contentDiv and the title
} );
Это сделает каждый div theTitle иметь событие onClick, которое что-то делает с связанным с ним theContent div.
document.getElementsByClassName ('aList'). GetElementsByTagName ('div')
<div class="aList">
<div class="theTitle" onclick="fillContentBox(this)"></div>
<div class="theContent"></div>
</div>
А в вашем скрипте ...
function fillContentBox(div) {
var theContentDiv = div.parentNode.getElementsByTagName("div")[1];
// statements that do things with theContentDiv
}
У вас должна быть возможность определить, какой элемент вы хотите обновить, если вы не хотите обновлять более одного. Если элементы сгруппированы внутри чего-то еще, что имеет значение id, вы можете воспользоваться этим.
Вам следует обратить внимание на селекторы jQuery для этого и других манипуляций с DOM. Что-то вроде
$("div.theContent").attr("name", "value");
используя jquery, вы можете использовать код вроде следующего:
$(".theTitle").bind("click", function(){
$el = $(this);
$el.parent().$(".theContent").load('ajax/content.php?news=' . $el.text());
});
это сделает все ваши ссылки кликабельными, а при клике обновит их соответствующие div'ы контента со значением ajax/content.php?news=theTitle-value