Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.01.2021, 02:24
Новичок на форуме
Отправить личное сообщение для rastabumper1 Посмотреть профиль Найти все сообщения от rastabumper1
 
Регистрация: 27.01.2021
Сообщений: 5

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

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

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


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

Последний раз редактировалось rastabumper1, 27.01.2021 в 02:27.
Ответить с цитированием
  #2 (permalink)  
Старый 27.01.2021, 07:03
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,692

let str = '';
document.querySelectorAll('tbody td.text-left:nth-child(2n)').forEach(cell => str+=cell.textContent);
Ответить с цитированием
  #3 (permalink)  
Старый 27.01.2021, 13:08
Новичок на форуме
Отправить личное сообщение для rastabumper1 Посмотреть профиль Найти все сообщения от rastabumper1
 
Регистрация: 27.01.2021
Сообщений: 5

Сообщение от voraa Посмотреть сообщение
let str = '';
document.querySelectorAll('tbody td.text-left:nth-child(2n)').forEach(cell => str+=cell.textContent);
undefined
Ответить с цитированием
  #4 (permalink)  
Старый 27.01.2021, 13:54
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,692

<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)

Последний раз редактировалось voraa, 27.01.2021 в 14:06.
Ответить с цитированием
  #5 (permalink)  
Старый 27.01.2021, 17:44
Новичок на форуме
Отправить личное сообщение для rastabumper1 Посмотреть профиль Найти все сообщения от rastabumper1
 
Регистрация: 27.01.2021
Сообщений: 5

<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>


Не срабатывает!
Ответить с цитированием
  #6 (permalink)  
Старый 27.01.2021, 18:25
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,692

Сообщение от voraa
forEach(cell => str+=cell.textContent)
Сообщение от rastabumper1
.forEach(cell => cell.textContent)
Разницу не видите от слова совсем?
forEach ничего не возвращает. Она просто выполняет заданные действия с каждым элементом.

Последний раз редактировалось voraa, 27.01.2021 в 18:33.
Ответить с цитированием
  #7 (permalink)  
Старый 27.01.2021, 18:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

rastabumper1,

document.querySelectorAll('tbody td.text-left:nth-child(2n)').forEach(cell => url.href += cell.textContent);
Ответить с цитированием
  #8 (permalink)  
Старый 28.01.2021, 20:30
Новичок на форуме
Отправить личное сообщение для rastabumper1 Посмотреть профиль Найти все сообщения от rastabumper1
 
Регистрация: 27.01.2021
Сообщений: 5

И так не робоатет.
<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">
Ответить с цитированием
  #9 (permalink)  
Старый 28.01.2021, 20:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Сообщение от 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>
Ответить с цитированием
  #10 (permalink)  
Старый 30.01.2021, 22:08
Новичок на форуме
Отправить личное сообщение для rastabumper1 Посмотреть профиль Найти все сообщения от rastabumper1
 
Регистрация: 27.01.2021
Сообщений: 5

Благодарочка
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести текст из блок со сылквми BARABANTEMO Общие вопросы Javascript 2 29.09.2015 14:13
Вывести HTML-код как текст Dion Элементы интерфейса 2 28.09.2015 22:45
Сворачивание строк таблицы eFusion jQuery 6 13.05.2014 15:08
вывести текст из переменной на страницу victor_as Общие вопросы Javascript 13 26.03.2014 17:20
проблема со scroll Chrome Элементы интерфейса 2 21.10.2013 14:46