Запись в групповое отделение с JavaScript

Я создаю RSS-ридер мультиканала для школы.

aList является отделением, которое охватывает каждый отдельный канал (объем подачи будет колебаться).

theTitle является отделением, которое будет переполнено атрибутом текущего канала. Кроме того, если нажато, это загрузит список атрибутов от текущего канала в theContent.

Я задаюсь вопросом, как я могу динамично загрузить атрибуты в theContent, когда theTitle нажат, так как theContent и theTitle будут групповыми отделениями (я не могу дать им идентификаторы).

Спасибо за Вашу справку заранее,

- Andrew

5
задан 5 March 2010 в 01:39
поделиться

6 ответов

Используйте хорошую библиотеку 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.

1
ответ дан 14 December 2019 в 19:10
поделиться

document.getElementsByClassName ('aList'). GetElementsByTagName ('div')

1
ответ дан 14 December 2019 в 19:10
поделиться
<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
}
1
ответ дан 14 December 2019 в 19:10
поделиться

У вас должна быть возможность определить, какой элемент вы хотите обновить, если вы не хотите обновлять более одного. Если элементы сгруппированы внутри чего-то еще, что имеет значение id, вы можете воспользоваться этим.

0
ответ дан 14 December 2019 в 19:10
поделиться

Вам следует обратить внимание на селекторы jQuery для этого и других манипуляций с DOM. Что-то вроде

$("div.theContent").attr("name", "value");
1
ответ дан 14 December 2019 в 19:10
поделиться

используя jquery, вы можете использовать код вроде следующего:

 $(".theTitle").bind("click", function(){
    $el = $(this);
           $el.parent().$(".theContent").load('ajax/content.php?news=' . $el.text());
 });

это сделает все ваши ссылки кликабельными, а при клике обновит их соответствующие div'ы контента со значением ajax/content.php?news=theTitle-value

1
ответ дан 14 December 2019 в 19:10
поделиться
Другие вопросы по тегам:

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