Отображать данные div в другом div с помощью jquery, когда все div с одинаковыми классами

0

Я не знаком с jQuery, поэтому я пишу это, чтобы получить помощь от вас, ребята.

Скажем, что у меня есть три <div> с теми же классами, но с разной информацией. При обновлении на странице отображается только один <div> с данными в нем.

Я сделал эту демонстрацию JSFiddle.

скрипт

var divs = $("div.visible-content").get().sort(function(){ 
return Math.round(Math.random())-0.5;
}).slice(0,1)
$(divs).show();

Мой вопрос

Как отображать видимые данные в другом, настраиваемом <div> в другом классе, который (извините за мой плохой английский), не совпадает с " .visible-content "? Я имею в виду, что только видимое-IF-изображение видимо, тогда информация из этого видимого <div> должна отображаться в пользовательском <div> с .information-from-visible-content.

Мой полный HTML

<div class="visible-content">
   <div class="information">1</div>
</div>

<div class="visible-content">
   <div class="information">2</div>
</div>

<!-- .etc -->
<div class="other-content">
   <h1>Other content</h1>
   <div class="information-from-visible-content">
   <!-- information from visible content-->
   </div>
</div>

CSS

div.visible-content { position:absolute; display:none; }
.other-content { float:left; margin:0px 0px; width:100px; height:100px; background:red; }
.other-content h1 { float:left; margin:0px 0px; font-size:12px; }

Извините за мой плохой английский, и спасибо за все ответы!

  • 0
    Таким образом, вы хотите показать информацию, только если div виден?
  • 0
    Вы говорите, что если какой-либо из классов .visible-content является видимым, то отобразите информацию из '.visible-content .information' в .other-content .information-from-visible-content ?
Показать ещё 1 комментарий
Теги:

3 ответа

1
Лучший ответ

Я не уверен, если я получу правильное значение из вашего вопроса, попробуйте это, если это то, что вы хотите

этот код будет присваивать информацию из.visible-content, которая не скрыта

$('.other-content .information-from-visible-content').text($('.visible-content:not(:hidden) .information').text())

проверьте эту скрипту, я обновил ее, http://jsfiddle.net/b3deG/2/

проверьте эту скрипту для скрытия информации о белой области, http://jsfiddle.net/b3deG/10/

  • 0
    Хм, это странно. Если я использую ваш код, то информация из .visible-content не отображается. Если я пишу информацию вручную в .information-from-visible-content , то информация также не отображается.
  • 0
    Хорошо, мой плохой, я проверяю ваш css, ваш css на самом деле скрывает все, что является .visible-content , поэтому значение всегда пустое, поэтому когда оно действительно будет видимым?
Показать ещё 9 комментариев
2

Я разветкил и обновил скрипку, чтобы проверить, так ли это.

Независимо от того, что вы решите показать, information-from-visible-content конечном итоге отобразит этот div.

Просто добавили следующую строку к вашей скрипке:

$(".information-from-visible-content").html($(divs).html());

обновленный

После .information-from-visible-content вашего .information-from-visible-content вы можете просто написать следующую строку: $(divs).hide(). Обновлен Fiddle.

  • 0
    Оба ответа работают. Но теперь у меня есть другой вопрос. Как скрыть информацию, которой нет на красном фоне? Я имею в виду, что эта информация дублируется. В пустом пространстве и в красном пространстве.
  • 0
    Обновлен ответ, чтобы скрыть оригинальный видимый div.
Показать ещё 1 комментарий
0

Вы сделали бы это, используя jQuery traversing, используя идентификаторы или несколько классов.

<div class="visible-content content-1">

или

<div class="content" id="content-1">

В jQuery вы также можете перейти ко второму экземпляру этого класса, используя next().

 $(div).next().append(content-1);

Документация API по перемещению поможет найти правильный селектор jQuery Traversing

  • 0
    Как я уже сказал, я не дружу с JQuery. Я понятия не имею, как правильно написать этот код: /

Ещё вопросы

Сообщество Overcoder
Наверх
Меню