Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.04.2015, 10:51
Аспирант
Отправить личное сообщение для Aleksanderj Посмотреть профиль Найти все сообщения от Aleksanderj
 
Регистрация: 14.06.2013
Сообщений: 70

Копировать текст
Здравствуйте. Есть кнопка
$(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">, так как таких блоков много с разными файлами и текстом.
Ответить с цитированием
  #2 (permalink)  
Старый 28.04.2015, 12:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от Aleksanderj
href="http://site.ru/123456.wav"
а это откуда?
Ответить с цитированием
  #3 (permalink)  
Старый 28.04.2015, 12:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от Aleksanderj
как текст, который находится между span и после br вставить в атрибут download "Имя файла" в js
какой текст должен вставится? напишите пример для вашего варианта в 1 посте
Ответить с цитированием
  #4 (permalink)  
Старый 28.04.2015, 13:46
Аспирант
Отправить личное сообщение для Aleksanderj Посмотреть профиль Найти все сообщения от Aleksanderj
 
Регистрация: 14.06.2013
Сообщений: 70

Вот так должно стать:
<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>
Ответить с цитированием
  #5 (permalink)  
Старый 28.04.2015, 13:57
Аспирант
Отправить личное сообщение для Aleksanderj Посмотреть профиль Найти все сообщения от Aleksanderj
 
Регистрация: 14.06.2013
Сообщений: 70

Сообщение от рони Посмотреть сообщение
а это откуда?
Это файл, который при помощи другого скрипта добавляется в ссылку.
Ответить с цитированием
  #6 (permalink)  
Старый 28.04.2015, 14:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

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>
Ответить с цитированием
  #7 (permalink)  
Старый 28.04.2015, 15:16
Аспирант
Отправить личное сообщение для Aleksanderj Посмотреть профиль Найти все сообщения от Aleksanderj
 
Регистрация: 14.06.2013
Сообщений: 70

рони, я вам очень благодарен! Получилось с вашей помощью! только без alert($("body").html()). Но это ясно что мелочи, ведь вы же не знаете что там еще за код у меня. Спасибо!
Ответить с цитированием
  #8 (permalink)  
Старый 29.04.2015, 13:48
Аспирант
Отправить личное сообщение для Aleksanderj Посмотреть профиль Найти все сообщения от Aleksanderj
 
Регистрация: 14.06.2013
Сообщений: 70

Здравствуйте. Еще вопрос: "А можно при выводе, на примере "Запись - Октябрь" поменялись местами слова, как "Октябрь - Запись? "
Ответить с цитированием
  #9 (permalink)  
Старый 29.04.2015, 14:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от Aleksanderj
"Запись - Октябрь" поменялись местами
строка 19 -- медитируйте пока не просветлеет
Ответить с цитированием
  #10 (permalink)  
Старый 29.04.2015, 14:49
Аспирант
Отправить личное сообщение для Aleksanderj Посмотреть профиль Найти все сообщения от Aleksanderj
 
Регистрация: 14.06.2013
Сообщений: 70

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

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

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

Последний раз редактировалось Aleksanderj, 29.04.2015 в 15:09.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема со scroll Chrome Элементы интерфейса 2 21.10.2013 14:46
прогкрутка к якорям cOAPerator Общие вопросы Javascript 20 27.08.2013 03:30
нужно заставить одновременно работать слайдер и модальное окно обратной связи kvant355 Javascript под браузер 3 22.07.2013 16:34
Выравнять три дива в одной строке debugx (X)HTML/CSS 9 06.10.2011 12:03