Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Добавление идентификаторов для div (https://javascript.ru/forum/misc/58408-dobavlenie-identifikatorov-dlya-div.html)

BARABANTEMO 20.09.2015 13:00

Добавление идентификаторов для div
 
Всем доброго времени суток хочу задать такой вопрос
есть такая комбинация которая по нажатию кнопки копирует текст из дива
<script type="text/javascript" src="http://lsd.do.am/jquery.zclip.js"></script>
<script type="text/javascript">
$(document).ready(function(){$(".bbQuoteName").zclip({copy:$('.quoteMessage').text()});});
</script>
<div class="bbQuoteName">Блок 1</div><div class="quoteMessage">Текст 1</div>
<div class="bbQuoteName">Блок 2</div><div class="quoteMessage">Текст 3</div>

проблема заключается в том что все блоки на странице имеют класс bbQuoteName и quoteMessage соответственно - при нажатие например на Блок 1 копируется и Текст 1 и Текст 2 -пожалуйста если возможно внесите изменения в скрипт так чтобы при нажатие на Блок 1 копировался Текст 1 на Блок 2 - Текст 2 и так далее
при условии что все блоки которые будут на странице будут иметь class="bbQuoteName" и class="bbQuoteName" и их количество будет произвольным (Заранее спасибо)

рони 20.09.2015 13:10

BARABANTEMO,
each

laimas 20.09.2015 13:19

copy:$(".bbQuoteName").next().text()


при условии что верстка будет именно как показана.

рони 20.09.2015 13:26

Цитата:

Сообщение от laimas
copy:$(".bbQuoteName").next().text()

:stop:

laimas 20.09.2015 13:34

Почему?

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script> 
$(function() {
    $(".bbQuoteName").click(function(){
         alert($(this).next().text())
    })
});
</script>     
</head> 

<body>
<div class="bbQuoteName">Блок 1</div><div class="quoteMessage">Текст 1</div>
<div class="bbQuoteName">Блок 2</div><div class="quoteMessage">Текст 3</div>
</body> 
</html>

рони 20.09.2015 13:37

Цитата:

Сообщение от laimas
$(".bbQuoteName").next()

тут все следущие
Цитата:

Сообщение от laimas
$(this).next().text())

тут один

laimas 20.09.2015 13:39

Цитата:

Сообщение от рони
тут все следущие

Все это nextAll(), имея ввиду, любые теги, а next() первый следующий, о чем я писал об условии. Если же между блоками будут другие теги, то можно .nextAll('.quoteMessage:first').text().

рони 20.09.2015 13:39

BARABANTEMO,
вопрос только в каких браузерах будет работать сейчас zclip?
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
   <script type="text/javascript" src="http://lsd.do.am/jquery.zclip.js"></script>
  <script>
     $(function(){
  var bb = $(".bbQuoteName"), quote = $('.quoteMessage');
  bb.each(function(indx, el){
        $(el).zclip({copy:quote.eq(indx).text()});
        });
});
  </script>
</head>

<body>
<div class="bbQuoteName">Блок 1</div><div class="quoteMessage">Текст 1</div>
<div class="bbQuoteName">Блок 2</div><div class="quoteMessage">Текст 3</div>
<textarea name=""></textarea>


</body>

</html>

рони 20.09.2015 13:41

laimas,
смотри 6 пост

рони 20.09.2015 13:44

laimas,
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
   <script type="text/javascript" src="http://lsd.do.am/jquery.zclip.js"></script>
  <script>
     $(function(){
  var bb = $(".bbQuoteName");
  bb.each(function(indx, el){
        $(el).click(function() {
    alert( bb.next().length  );
});
        });
});
  </script>
</head>

<body>
<div class="bbQuoteName">Блок 1</div><div class="quoteMessage">Текст 1</div>
<div class="bbQuoteName">Блок 2</div><div class="quoteMessage">Текст 3</div>
<textarea name=""></textarea>


</body>

</html>


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