Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Копирование информации с div и span (https://javascript.ru/forum/misc/62214-kopirovanie-informacii-s-div-i-span.html)

Alex.Kotin 30.03.2016 22:00

Копирование информации с div и span
 
1. Дублирует данные из "div" или "span" с определенным "class" или "id" возможно (class и id)

2. Данные находиться в таблице с "id" информация в ячейках без "id", в "span" с "class" но ячеек несколько и "class" "span"-а одинаковый

Информацию нужно вывести вместо текста например $1$ - на странице их может быть несколько. $1$ может находиться даже в "style"

Примечание 1 от 2 - не зависит, но вывод информации одинаковый

Идеи для реализации :write:

Strongman 31.03.2016 06:06

1)решаем первую задачу с использованием jQuery(т.е. нужно подключить библиотеку jQuery):
var dannie = $("div.class").innerHTML;
или
var dannie = $("div#id").innerHTML;
или
var dannie = $("span.class").innerHTML;
или
var dannie = $("span#id").innerHTML;
2)ну тут уже сложнее. данных фиксированное количество? Если фиксированное, тогда легко. Каждой ячейке нужно присвоить id и к ней обращаться вот так, например:
HTML:
<table>
<tr><td id="Yacheika1"></td></tr>
</table>
javascript:
$("#Yacheika1").innerHTML = dannie;
- и вот так нужно сделать для каждой ячейки.
$1$ - беспонтовая идея.
"+" давай.

ruslan_mart 31.03.2016 06:34

<div class="info" data-id="1">
Info 1
</div>
<div class="info" data-id="2">
Info 2
</div>

<div>${1}</div>
<div>${1}</div>
<span>${1}</span>
<div>${2}</div>


(function(window, document) {
	'use strict';

	function replaceData(data, id) {
		var bodyData = body.innerHTML,
			pattern = new RegExp('\\$\\{' + id + '\\}', 'g');
		if(pattern.test(bodyData)) {
			body.innerHTML = bodyData.replace(pattern, data);
		}
	};

	var body = document.body,
		elements = document.getElementsByClassName('info'), i;

	for(i = 0; i < elements.length; i++) {
		replaceData(elements[i].innerHTML, elements[i].dataset.id)
	}

})(window, document);

Alex.Kotin 31.03.2016 16:28

Оригинальный подход
 
Цитата:

Сообщение от Ruslan_xDD (Сообщение 412498)
<div class="info" data-id="1">
Info 1
</div>
<div class="info" data-id="2">
Info 2
</div>

<div>${1}</div>
<div>${1}</div>
<span>${1}</span>
<div>${2}</div>


(function(window, document) {
	'use strict';

	function replaceData(data, id) {
		var bodyData = body.innerHTML,
			pattern = new RegExp('\\$\\{' + id + '\\}', 'g');
		if(pattern.test(bodyData)) {
			body.innerHTML = bodyData.replace(pattern, data);
		}
	};

	var body = document.body,
		elements = document.getElementsByClassName('info'), i;

	for(i = 0; i < elements.length; i++) {
		replaceData(elements[i].innerHTML, elements[i].dataset.id)
	}

})(window, document);

именно то, не догадался, ну почти есть и свои недостатки
Но такой подход подойдет

Благодарю

Alex.Kotin 31.03.2016 20:46

Так выглядит таблица
 
Таблица генерируется автоматически
<table cellpadding="0" cellspacing="0" border="0"><tbody>
<tr><td id="1" colspan="4">
<div class="2">
<div class="3" style="width:24.9%">Информация</div>
<div class="3.1" style="width:74.7%">информация</div>
</div>
</td></tr>
<tr id="4">
<td class="5" align="center">
<div class="6"><span class="7">Инф</span></div>
<span class="8 "><img src="изображение" width="34px"></span><span class="9" id="10">Инф</span>
<div class="11"><div>
<span class="12">инф<i class="13">&nbsp;</i>инф</span>
</div><div>
<span class="14">инф</span></div><div>
<span class="15">инф<i class="13">&nbsp;</i>инф</span></div></div></td>
<td class="5" align="center">
<div class="6"><span class="7">Инф</span></div>
<span class="8 "><img src="изображение" width="34px"></span><span class="9" id="10">Инф</span>
<div class="11"><div>
<span class="12">инф<i class="13">&nbsp;</i>инф</span>
</div><div>
<span class="14">инф</span></div><div>
<span class="15">инф<i class="13">&nbsp;</i>инф</span></div></div></td><td class="5" align="center">
<div class="6"><span class="7">Инф</span></div>
<span class="8 "><img src="изображение" width="34px"></span><span class="9" id="10">Инф</span>
<div class="11"><div>
<span class="12">инф<i class="13">&nbsp;</i>инф</span>
</div><div>
<span class="14">инф</span></div><div>
<span class="15">инф<i class="13">&nbsp;</i>инф</span></div></div></td><td class="5" align="center">
<div class="6"><span class="7">Инф</span></div>
<span class="8 "><img src="изображение" width="34px"></span><span class="9" id="10">Инф</span>
<div class="11"><div>
<span class="12">инф<i class="13">&nbsp;</i>инф</span>
</div><div>
<span class="14">инф</span></div><div>
<span class="15">инф<i class="13">&nbsp;</i>инф</span></div></div></td>
</tr>
</tbody></table>


Всю информацию нужно дублировать то что было ранее предложено в принципе то но не совсем, с таблицей не справиться так как идет повторение класса и ида
Таблица не меняется меняется только информация

ruslan_mart 01.04.2016 06:35

Alex.Kotin, ну так перепишите код под себя, кто Вам мешает?


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