Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   вывести весь текст из таблицы одной строкой. (https://javascript.ru/forum/events/81763-vyvesti-ves-tekst-iz-tablicy-odnojj-strokojj.html)

rastabumper1 27.01.2021 02:24

вывести весь текст из таблицы одной строкой.
 
Вот тут задачка: Получить все текстовые данные из таблицы table и классов ячеек. td.text-left.

Отловить эти данные получается через:

document.querySelectorAll('tbody td.text-left:nth-child(2n)');


Но в качестве строки скрипт выводит: [object nodeList] в котором n-ное количество нодов. А мне же нужен текст из всех td.text-left

voraa 27.01.2021 07:03

let str = '';
document.querySelectorAll('tbody td.text-left:nth-child(2n)').forEach(cell => str+=cell.textContent);

rastabumper1 27.01.2021 13:08

Цитата:

Сообщение от voraa (Сообщение 533143)
let str = '';
document.querySelectorAll('tbody td.text-left:nth-child(2n)').forEach(cell => str+=cell.textContent);

undefined

voraa 27.01.2021 13:54

<style>
td.text-left{
	border: blue 1px solid;
}
td:nth-child(2n){
	color: red;
}
td.text-left:nth-child(2n){
	background-color: yellow;
}
</style>
<body>
<table>
<tbody>
	<tr>
		<td class=text-left>bbb11</td>
		<td class=text-left>aaa12</td>
		<td>bbb13</td>
		<td>bbb14</td>
	</tr>
	<tr>
		<td>bbb21</td>
		<td>bbb22</td>
		<td class=text-left>bbb23</td>
		<td class=text-left>aaa24<td>
	</tr>
	<tr>
		<td class=text-left>bbb31</td>
		<td class=text-left>aaa32</td>
		<td class=text-left>bbb33</td>
		<td>bbb34</td>
	</tr>
	<tr>
		<td class=text-left>bbb41</td>
		<td class=text-left>aaa42</td>
		<td class=text-left>bbb43</td>
		<td class=text-left>aaa44</td>
	</tr>
</tbody>
</table>
<br><br>
<div id=text><div>
<script>
let str = '';
document.querySelectorAll('tbody td.text-left:nth-child(2n)').forEach(cell => str+=cell.textContent);
console.log(str)
document.getElementById('text').textContent = str
</script>
</body>

Берет текст ячеек с классом text-left из столбцов 2 и 4 (нумерация с 1)

rastabumper1 27.01.2021 17:44

<script>
function add_url(url){ url.href += document.querySelectorAll('tbody td.text-left:nth-child(2n)').forEach(cell => cell.textContent);;}
</script>


<p><a href="https://wa.me/+79160032120?text=" onclick="add_url(this);" target="_blank"><img src="pngwing.com.png" style="width: 34px;">Продолжить в Whatsapp</a><br></p>


Не срабатывает!

voraa 27.01.2021 18:25

Цитата:

Сообщение от voraa
forEach(cell => str+=cell.textContent)

Цитата:

Сообщение от rastabumper1
.forEach(cell => cell.textContent)

Разницу не видите от слова совсем?
forEach ничего не возвращает. Она просто выполняет заданные действия с каждым элементом.

рони 27.01.2021 18:40

rastabumper1,
:-?
document.querySelectorAll('tbody td.text-left:nth-child(2n)').forEach(cell => url.href += cell.textContent);

rastabumper1 28.01.2021 20:30

И так не робоатет.
<script>
function add_url(url){ url.href += document.querySelectorAll('tbody td.text-left:nth-child(2n)').forEach(cell => forEach(cell => str+=cell.textContent));;}


</script>


<a href="https://wa.me/+79хххххххх?text=" onclick="add_url(this);" target="_blank">

рони 28.01.2021 20:54

Цитата:

Сообщение от rastabumper1
И так не робоатет.

...!!! ...!!!! ....!!!
<script>
function add_url(url){
var str = '';
document.querySelectorAll('tbody td.text-left:nth-child(2n)').forEach(cell => str+=cell.textContent);
url.href += str;}
</script>

rastabumper1 30.01.2021 22:08

Благодарочка


Часовой пояс GMT +3, время: 01:25.