Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.01.2015, 21:50
Интересующийся
Отправить личное сообщение для rudoy24 Посмотреть профиль Найти все сообщения от rudoy24
 
Регистрация: 26.12.2014
Сообщений: 16

Как найти по слассу (либо id) и вывести все найденные элементы массивов
Имеем код:
...
<div id="title" class="class-title">TITLE-1</div>
<div id="text" class="class-text">text-1 text-1 text-1 text-1 text-1</div>
...
<div id="title" class="class-title">TITLE-2</div>
<div id="text" class="class-text">text-2 text-2 text-2 text-2 text-2</div>
...
<div id="title" class="class-title">TITLE-3</div>
<div id="text" class="class-text">text-3 text-3 text-3 text-3 text-3</div>
...


Необходимо найти по class или id и вывести все найденные элементы массивов таким образом, что бы в итоге получить следующий результат:
...
<p>TITLE-1</p>
<p>text-1 text-1 text-1 text-1 text-1</p>
<p>TITLE-2</p>
<p>text-2 text-2 text-2 text-2 text-2</p>
<p>TITLE-3</p>
<p>text-3 text-3 text-3 text-3 text-3</p>
...

Последний раз редактировалось rudoy24, 13.01.2015 в 00:52.
Ответить с цитированием
  #2 (permalink)  
Старый 13.01.2015, 03:00
Профессор
Отправить личное сообщение для caetus Посмотреть профиль Найти все сообщения от caetus
 
Регистрация: 23.09.2014
Сообщений: 197

не понял что тебе нужно , но попробуй
element.querySelectorAll('.class-title')
Ответить с цитированием
  #3 (permalink)  
Старый 13.01.2015, 03:45
Интересующийся
Отправить личное сообщение для dimy44 Посмотреть профиль Найти все сообщения от dimy44
 
Регистрация: 12.01.2015
Сообщений: 15

your_text.replace(/.+?class="class-(?:title|text)">([\s\S]+?)<\/div>/g, '<p>$1</p>');
Ответить с цитированием
  #4 (permalink)  
Старый 13.01.2015, 07:58
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

rudoy24, ID должен быть уникален.

document.querySelectorAll('.class-title, .class-text')
Ответить с цитированием
  #5 (permalink)  
Старый 13.01.2015, 10:19
Интересующийся
Отправить личное сообщение для rudoy24 Посмотреть профиль Найти все сообщения от rudoy24
 
Регистрация: 26.12.2014
Сообщений: 16

К примеру такой код:
<script type="text/javascript">
var ele = document.getElementById("image");
if(typeof ele !== 'undefined' && ele !== null) {
document.getElementById('imagesrc').value = "<p>"+document.getElementById('image').src+"</p>";
}
</script>


Передаст элементу с id="imagesrc" значение:
<p>http://img.png</p>


-------------------------------
По заданию мы получили масив(ы) элементов:
var x = document.querySelectorAll('.class-title, .class-text');


Каким образом передать этот масив(ы) значений используя следующую конструкцию, чтобы получить необходимый результат:
document.getElementById('massive').value = ...

Последний раз редактировалось rudoy24, 13.01.2015 в 12:09.
Ответить с цитированием
  #6 (permalink)  
Старый 13.01.2015, 11:20
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

var elems = document.querySelectorAll('.class-title, .class-text'),
    massive = document.getElementById('massive');

[].forEach.call(elems, function(self) {
    massive.value += '<p>' + self.innerHTML + '</p>\n';
});
Ответить с цитированием
  #7 (permalink)  
Старый 13.01.2015, 12:07
Интересующийся
Отправить личное сообщение для rudoy24 Посмотреть профиль Найти все сообщения от rudoy24
 
Регистрация: 26.12.2014
Сообщений: 16

Спасибо "Ruslan_xDD" именно то что нужно. (+)

Но есть еще один вопрос:
Какой тогда будет код если необходимо передать текст + src картинки:
...
<div id="title" class="class-title">TITLE-1</div>
<img id="image" class="class-image" src="http://catalog-img/image-1.jpg" />
...
<div id="title" class="class-title">TITLE-2</div>
<img id="image" class="class-image" src="http://catalog-img/image-2.jpg" />
...
<div id="title" class="class-title">TITLE-3</div>
<img id="image" class="class-image" src="http://catalog-img/image-3.jpg" />
...


Чтобы получить такой результат:
...
<p>TITLE-1</p>
<p>http://catalog-img/image-1.jpg</p>
<p>TITLE-2</p>
<p>http://catalog-img/image-2.jpg</p>
<p>TITLE-3</p>
<p>http://catalog-img/image-3.jpg</p>
...
Ответить с цитированием
  #8 (permalink)  
Старый 13.01.2015, 12:16
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

var elems = document.querySelectorAll('.class-title, .class-image'),
    massive = document.getElementById('massive');

[].forEach.call(elems, function(self) {
    massive.value += '<p>' + self[self.tagName == 'IMG' ? 'src' : 'innerHTML'] + '</p>\n';
});
Ответить с цитированием
  #9 (permalink)  
Старый 13.01.2015, 13:01
Интересующийся
Отправить личное сообщение для rudoy24 Посмотреть профиль Найти все сообщения от rudoy24
 
Регистрация: 26.12.2014
Сообщений: 16

Ruslan_xDD - спасибо, НО данный код:
massive.value += '<p>' + self[self.tagName == 'IMG' ? 'src' : 'innerHTML'] + '</p>\n';

создает дубли:
...
<p>TITLE-1</p>
<p>http://catalog-img/image-1.jpg</p>
<p>TITLE-2</p>
<p>http://catalog-img/image-2.jpg</p>
<p>TITLE-3</p>
<p>http://catalog-img/image-3.jpg</p>
<p>TITLE-1</p>
<p>http://catalog-img/image-1.jpg</p>
<p>TITLE-2</p>
<p>http://catalog-img/image-2.jpg</p>
<p>TITLE-3</p>
<p>http://catalog-img/image-3.jpg</p>
...


Как избавится от дублей?

-----------------------------------------------------
И еще вопрос:
Какой будет код что бы получить такой результат:
...
<p>TITLE-1</p>
<p><img src="http://catalog-img/image-1.jpg" /></p>
<p>TITLE-2</p>
<p><img src="http://catalog-img/image-2.jpg" /></p>
<p>TITLE-3</p>
<p><img src="http://catalog-img/image-3.jpg" /></p>
...

Последний раз редактировалось rudoy24, 14.01.2015 в 10:17.
Ответить с цитированием
  #10 (permalink)  
Старый 13.01.2015, 21:37
Интересующийся
Отправить личное сообщение для rudoy24 Посмотреть профиль Найти все сообщения от rudoy24
 
Регистрация: 26.12.2014
Сообщений: 16

Не знаю насколько корректно, но сделал так:
var elems = document.querySelectorAll('.class-title, .class-image'),
    massive = document.getElementById('massive');

[].forEach.call(elems, function(self) {
if (self.tagName == 'IMG') {
	massive.value += '<p><img src=\"' + self[self.tagName == 'IMG' ? 'src' : 'innerHTML'] + '\" /></p>\n';
	} else {
	massive.value += '<p>' + self.innerHTML + '</p>\n';
	}
});


Если можно как-то по другому просьба написать как!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как удалить из HTML все элементы со стилем hidden Почемучкин Events/DOM/Window 3 24.06.2011 14:40
Название ячейки таблицы Questioner Общие вопросы Javascript 6 16.02.2011 09:58
как удалить все элементы в Div e ? Arfey Общие вопросы Javascript 14 10.06.2010 11:50
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37
Как удалить все пустые элементы UL smashercosmo Events/DOM/Window 13 25.02.2009 09:03