Гость
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как получить содержимое элемента? / 13 сообщений из 13, страница 1 из 1
17.05.2020, 20:13
    #39958678
Женя32
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить содержимое элемента?
Здравствуйте!

Объясню задачу.
Есть список стран, страна \ столица. Названия страны и название ее столицы размещены в разных div.
Нужно вывести на console строну и ее столицу.
Подскажите, пожалуйста, как эту задачу реализовать?


Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
<div>
  <div class="countries_list">
        <div class="countrie_capital">
            <div class="country">
              <p>Россия</p>
            </div>
            <div class="capital">
              <p>Москва </p>
             </div>
       </div>
   </div>
   <div class="countrie_capital">
        <div class="name_capitals">
            <div class="country">
              <p>США</p>
            </div>
            <div class="capital">
              <p>Вашингтон </p>
             </div>
       </div>
  </div>
   <div class="countrie_capital">
        <div class="name_capitals">
            <div class="country">
              <p>Германия</p>
            </div>
            <div class="capital">
              <p>Берлин </p>
             </div>
       </div>
  </div>
</div>
...
Рейтинг: 0 / 0
18.05.2020, 08:02
    #39958761
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить содержимое элемента?
Женя32
Подскажите, пожалуйста, как эту задачу реализовать?

Что ты уже сделал сам?
Есть какие-то попытки?
...
Рейтинг: 0 / 0
18.05.2020, 08:44
    #39958773
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить содержимое элемента?
Код: javascript
1.
2.
3.
$('.country_capital').each(function() { 
    console.log($(this).text());
});


как-то так.

И еще у тебя закрывающий див для "<div class="countries_list">" стоит явно не там, где это задумано.
...
Рейтинг: 0 / 0
18.05.2020, 14:21
    #39958939
Женя32
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить содержимое элемента?
Я сделал вот так:
Код: javascript
1.
2.
3.
4.
5.
6.
      for(const tour of tours_list) {
const tp = [...tour.querySelectorAll(".item-t > small, .block-s > .right-sid > .p-block")].map(({textContent}) => textContent.trim());
   tp.forEach( (value, key, map) => {
              console.log(tp);        
   })
}


Результат выполнения:
["Россия", "Москва"]
["США", "Вашингтон"]
["Германия", "Берлин"]

А как сделать такой вывод:
Россия = Москва.
США = Вашингтон.
Германия = Берлин.
?
...
Рейтинг: 0 / 0
18.05.2020, 14:27
    #39958941
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить содержимое элемента?
Женя32
Я сделал вот так:
Код: javascript
1.
2.
3.
4.
5.
6.
      for(const tour of tours_list) {
const tp = [...tour.querySelectorAll(".item-t > small, .block-s > .right-sid > .p-block")].map(({textContent}) => textContent.trim());
   tp.forEach( (value, key, map) => {
              console.log(tp);        
   })
}


В твоем примере даже классов таких нет...
...
Рейтинг: 0 / 0
18.05.2020, 14:36
    #39958949
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить содержимое элемента?
Женя32

Результат выполнения:
Код: javascript
1.
2.
3.
["Россия", "Москва"]
["США", "Вашингтон"]
["Германия", "Берлин"]


А как сделать такой вывод:
Россия = Москва.
США = Вашингтон.
Германия = Берлин.
?

Дык!
Код: javascript
1.
2.
3.
4.
5.
6.
var a=[
	["Россия", "Москва"],
	["США", "Вашингтон"],
	["Германия", "Берлин"]
];
alert(a.toString().replace(/([^,]+),([^,]+)(,|$)/g,'$1=$2.\n'))
...
Рейтинг: 0 / 0
18.05.2020, 14:40
    #39958950
Женя32
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить содержимое элемента?
krvsa
..
В твоем примере даже классов таких нет...

Код: javascript
1.
2.
3.
4.
5.
6.
 for(const tour of tours_list) {
const tp = [...tour.querySelectorAll(".countrie_capital > name_capitals, .capital")].map(({textContent}) => textContent.trim());
   tp.forEach( (value, key, map) => {
              console.log(tp);        
   })
}
...
Рейтинг: 0 / 0
18.05.2020, 14:55
    #39958959
Женя32
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить содержимое элемента?
krvsa
...
Дык!
Код: javascript
1.
2.
3.
4.
5.
6.
var a=[
	["Россия", "Москва"],
	["США", "Вашингтон"],
	["Германия", "Берлин"]
];
alert(a.toString().replace(/([^,]+),([^,]+)(,|$)/g,'$1=$2.\n'))


krvsa , большое спасибо!
...
Рейтинг: 0 / 0
19.05.2020, 11:49
    #39959343
Женя32
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить содержимое элемента?
Подскажите, пожалуйста, почему такой вывод?:

Россия
=
Москва

США
=
Вашингтон

Германия
=
Берлин
Почему не в строчку выводится?:
Россия = Москва..
С новой строки нужно чтоб выводились данные с другого блока a2. Вот так нужно:
Россия = Москва.
США = Вашингтон.
Германия = Берлин.



Вот здесь можете посмотреть: https://jsfiddle.net/qfet2z6j/2/
...
Рейтинг: 0 / 0
20.05.2020, 22:57
    #39960134
SQLPowerUser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить содержимое элемента?
Женя32,

???
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
function qsa(el, s) { return el.querySelectorAll(s); }
function qs(el, s) { return el.querySelector(s); }

const data1 = [...qsa(document,'.a1')].map((div) => [
    qs(div,'.a3').textContent.trim() +'='+ qs(div,'.a4').textContent.trim()
]);
console.log(data1);

// или так
const capitals = [...qsa(document,'.a4')];
const data2 = [...qsa(document,'.a3')].map( (el,i) =>[
    el.textContent.trim() +'='+ capitals[i].textContent.trim()
]);
console.log(data2);
...
Рейтинг: 0 / 0
21.05.2020, 20:18
    #39960457
Женя32
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить содержимое элемента?
Спасибо большое.
...
Рейтинг: 0 / 0
21.05.2020, 20:24
    #39960460
Женя32
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить содержимое элемента?
Возник еще один вопрос:
Как получить содержимое элемента, при такой структуре кода? Нужно вывести страна\население.
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<div class="content">
                              
                    <div class="grid-string ">
                        <div class="grid-item">5.</div>
                        <div class="grid-item"><span class="sp-icon" style="background-image: url('fi.png')"></span>Население России</div>
                        <div class="grid-item" style="width: 8%;">2</div>
                        <div class="grid-item" style="width: 8%; margin-right: 10px;"></div>
                        <div class="grid-item">
146 800 000 чел.</div>
                        <div class="grid-item off-ds"></div>
                    </div>
                    <div class="grid-string ">
                        <div class="grid-item">6.</div>
                        <div class="grid-item"><span class="sp-icon" style="background-image: url('am.png')"></span>Население США</div>
                        <div class="grid-item" style="width: 8%;">1</div>
                        <div class="grid-item" style="width: 8%; margin-right: 10px;"></div>
                        <div class="grid-item">328 915 700 чел.</div>
                        <div class="grid-item off-ds"></div>
                    </div>
                                  
</div>


Вот так, выводится только из первых контейнеров div:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
var list_orders = document.querySelectorAll(".content > .grid-string ");
for (var i = 0; i < list_orders.length; i++) {
    country = list_orders[i].querySelector(".grid-item").textContent
      
       console.log(country);
    
}
...
Рейтинг: 0 / 0
27.05.2020, 08:18
    #39962660
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить содержимое элемента?
Женя32 , у тебя очень плохо используются теги...
Они все имеют одинаковый класс... Страна вообще не выделена в отдельный тег...

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='https://code.jquery.com/jquery-latest.js'></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
</script>
</head>
<body>
<div class="content">
	<div class="grid-string ">
		<div class="grid-item">5.</div>
		<div class="grid-item"><span class="sp-icon" style="background-image: url('fi.png')"></span>Население России</div>
		<div class="grid-item" style="width: 8%;">2</div>
		<div class="grid-item" style="width: 8%; margin-right: 10px;"></div>
		<div class="grid-item">146 800 000 чел.</div>
		<div class="grid-item off-ds"></div>
	</div>
	<div class="grid-string ">
		<div class="grid-item">6.</div>
		<div class="grid-item"><span class="sp-icon" style="background-image: url('am.png')"></span>Население США</div>
		<div class="grid-item" style="width: 8%;">1</div>
		<div class="grid-item" style="width: 8%; margin-right: 10px;"></div>
		<div class="grid-item">328 915 700 чел.</div>
		<div class="grid-item off-ds"></div>
	</div>
</div>
<script type='text/javascript'>
var list_orders = document.querySelectorAll(".content > .grid-string ");
for (var i = 0; i < list_orders.length; i++) {
	var txt;
	var o=list_orders[i].querySelectorAll('.grid-item');
	txt=o[1].textContent;
	txt+=' - '+o[4].textContent;
	alert(txt);
}
</script>
</body>
</html>



И примеры тестовые ты делаешь отвратно...
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как получить содержимое элемента? / 13 сообщений из 13, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]