Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помогите написать код
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Помогите написать код

Страниц (1): [1]
 

1. twodogs - 23 Ноября, 2021 - 14:51:08 - перейти к сообщению
В этом всем только начинаю разбираться, по этому если можно, то объясните пожалуйста более понятней как это можно реализовать.

Есть две страницы - "A" и "B", на "B" подсчитывается количество div блоков и полученный результат нужно передать в тег p на странице "A"

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <!-- Страница "В"-->
  3.  
  4. <section class="content">
  5.         <div>1a<div>1.1</div><div>1.1</div></div>
  6.         <div>2a</div>
  7.         <div>3a</div>
  8. </section>
  9.  
  10. <script>
  11.         var div_count = $('.content > div').length;
  12.         $('p.result').text(div_count + " divs.");
  13. </script>


В данном примере долно быть число - 3

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <!-- Страница "A"-->
  3.  
  4. <div><p class="result">Вот тут должна выводиться цифра 3</p></div>
2. Vladimir Kheifets - 24 Ноября, 2021 - 13:00:52 - перейти к сообщению
twodogs пишет:
В этом всем только начинаю разбираться, по этому если можно, то объясните пожалуйста более понятней как это можно реализовать.Есть две страницы - "A" и "B", на "B" подсчитывается количество div блоков и полученный результат нужно передать в тег p на странице "A"

Добрый день!

Чтобы было понятнее, в начале немного объектах и DOM (документ объект модели) Java Script:

1. Объект window - ассоциаируется с активным окном браузера.
Этот объект имеет несколько свойств, одно из которых - location, мы применим в Ваших скриптах.

2. Объект document - ассоциаируется с активным html документом.

3. DOM - дерево, узлы, которого - элементы DOM, ассоциаруются с тегами html документа.
Например, в Вашем случае тэг <section class="content"> явлется ParentNode родительким узлом
для ChildNode дочерних узлов (элементов) - тэгов div.

4. Для манипуляций элементами DOM в JS предусмотрено несколько методов для объекта document,
один из которых - document.querySelectorAll.
Например, в Вашем случае document.querySelectorAll('.content > div'),
возвращает коллекцию элементов NodeList состоящую из трёх ChildNode дочерних элемента ParentNode - тэга <section class="content">.

Вы допустили серьёзную ошибку пытаясь в JS документа "B.html" манимулировать элементами из документа "A.html".
Важно! В JS допускается манипулировать только определёнными элементами DOM и только
после полной загрузки документа, например, задав <script>...</script> после тэга </body>
.

5. В Вашем случае, требуется в документе "В.html" определить количество элементов в NodeList, используя свойство length
и передать результат в документ "A.html"
Для этого в документе "В.html" нужно задать: window.location.href="A.html?DivL=" + NodeList.length;
В результате будет загружен документ "A.html", в котором из URL будет получено
значение GET-параметра DivL и затем вставлено в ElementSpan.

B.html
Спойлер (Отобразить)

A.html
Спойлер (Отобразить)

Удачи!
3. twodogs - 25 Ноября, 2021 - 14:34:36 - перейти к сообщению
Vladimir Kheifets

Спасибо за подробный ответ, теперь все стало ясно как строить взаимодействие между документами.

 

Powered by ExBB FM 1.0 RC1