Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Копировать текст (https://javascript.ru/forum/jquery/55448-kopirovat-tekst.html)

Aleksanderj 28.04.2015 10:51

Копировать текст
 
Здравствуйте. Есть кнопка
$(function(){	
 $("<a>СКАЧАТЬ</a>").attr({ 
  class: "btn btn-mini",
  alt: "Скачать",
  download: "Имя файла",
  title: "Скачать"}).appendTo(".control"); 
});



Есть Текст который находится в другой ссылке завурнутый в span и br. В итоге выводится всё вот в таком виде:
<div class="block">
 <a class="name_zapis" href="#">
   <span>Запись</span>
 <br>
 Октябрь
 </a>
 <div class="control">
  <a class="btn btn-mini" alt="Скачать" download="Имя файла" title="Скачать" href="http://site.ru/123456.wav">СКАЧАТЬ</a>
 </div>
</div>


Так вот, как текст, который находится между span и после br вставить в атрибут download "Имя файла" в js ?
Всё должно копироваться и вставляться относительно блока <div class="block">, так как таких блоков много с разными файлами и текстом.

рони 28.04.2015 12:09

Цитата:

Сообщение от Aleksanderj
href="http://site.ru/123456.wav"

а это откуда?

рони 28.04.2015 12:25

Цитата:

Сообщение от Aleksanderj
как текст, который находится между span и после br вставить в атрибут download "Имя файла" в js

какой текст должен вставится? напишите пример для вашего варианта в 1 посте

Aleksanderj 28.04.2015 13:46

Вот так должно стать:
<div class="block">
 <a class="name_zapis" href="#">
   <span>Запись</span>
 <br>
 Октябрь
 </a>
 <div class="control">
  <a class="btn btn-mini" alt="Скачать" download="Запись - Октябрь" title="Скачать" href="http://site.ru/123456.wav">СКАЧАТЬ</a>
 </div>
</div>

Aleksanderj 28.04.2015 13:57

Цитата:

Сообщение от рони (Сообщение 368580)
а это откуда?

Это файл, который при помощи другого скрипта добавляется в ссылку.

рони 28.04.2015 14:48

Aleksanderj,
<!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>
 $(function(){
 $(".block").each(function(indx, el){
  var a = $(".name_zapis", el);
  var text = $.trim(a.text());
  var spanText = $.trim($('span', a).text());
  var reg = new RegExp("^("+spanText+")([\\s\\S]+)$","mig");
  text = text.replace(reg, function(a,b,c) {
  return  b + " - " + $.trim(c)
})
     $("<a/>",{
  "text" : "СКАЧАТЬ",
  "href" : "http://site.ru/123456.wav",
  "class": "btn btn-mini",
  "alt": "Скачать",
  "download": text,
  "title": "Скачать"}).appendTo($('.control', el));
});
 alert($("body").html())

});
  </script>
</head>

<body>
<div class="block">
 <a class="name_zapis" href="#">
   <span>Запись</span>
 <br>
 Октябрь
 </a>
 <div class="control">
 </div>
</div>
<div class="block">
 <a class="name_zapis" href="#">
   <span>Абра-кадабра 2015</span>
 <br>
 Май Мир Мур
 </a>
 <div class="control">
 </div>
</div>
</body>

</html>

Aleksanderj 28.04.2015 15:16

рони, я вам очень благодарен! Получилось с вашей помощью! только без alert($("body").html()). Но это ясно что мелочи, ведь вы же не знаете что там еще за код у меня. Спасибо!:)

Aleksanderj 29.04.2015 13:48

Здравствуйте. Еще вопрос: "А можно при выводе, на примере "Запись - Октябрь" поменялись местами слова, как "Октябрь - Запись? "

рони 29.04.2015 14:23

Цитата:

Сообщение от Aleksanderj
"Запись - Октябрь" поменялись местами

строка 19 -- медитируйте пока не просветлеет

Aleksanderj 29.04.2015 14:49

рони, спасибо, медитация закончилась :) , я поменял местами,
return  $.trim(c) + " - " + b

но у меня не везде почему-то меняются местами. Есть, например, текст со скобками
<span>Запись(2)</span>
 <br>
 Октябрь
 </a>

вот тут не меняется. Не подскажете в чём проблема?
Или может есть возможность, чтобы знаки препинания () [] и точки не копировались?


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