При нажатии на текст, он должен записываться в переменную

411
02 сентября 2017, 00:53

Здравствуйте. Я начинающий в javascript.

Мне нужно реализовать следующее:

При нажатии на текст, он должен записываться в переменную, которая находится на странице. К примеру, есть пустая переменная date_1. При нажатии на текст "31.08.2017" переменная date_1 равна "31.08.2017".

Заранее спасибо!

Answer 1

Например, так:

var date_1; 
$('.copyToVar').on('click', function() { 
  date_1 = $(this).text(); 
  console.log(date_1); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div><span class="copyToVar">26.08.2017</span></div> 
<div><span class="copyToVar">27.08.2017</span></div> 
<div><span class="copyToVar">28.08.2017</span></div> 
<div><span class="copyToVar">29.08.2017</span></div> 
<div><span class="copyToVar">30.08.2017</span></div> 
<div><span class="copyToVar">31.08.2017</span></div>

Answer 2

JS:

var date_1; 
 
document.getElementById('date_1').onclick = function() { 
  date_1 = this.innerText; 
}
<div id='date_1'>31.08.2017</div>

jQuery:

var date_1; 
 
$('#date_1').click(function(){ 
  date_1 = $(this).text(); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div id='date_1'>31.08.2017</div>

Answer 3

Более гибкий вариант. НО! имя переменной приводится в качестве строки.

'use strict'; 
jQuery.fn.extend({ 
writeTo: function (variable) { 
  window[variable] = this.html(); 
  return window[variable] 
} 
});  
var myVar; 
$(".block").on("click", function(){ 
  $(this).writeTo("myVar"); 
  console.log(myVar); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div class="block">Мировой рекорд</div>

Answer 4
<script>
    var date;
    for(let i =  0 ; i < 10; ++i){
         document.write(`<span class="date" style="cursor:pointer">${i}</span><br>`)
    }
    for(let i =  0 ; i < 10; ++i){
    document.getElementsByClassName('date')[i].onclick = function(){
        date = document.getElementsByClassName('date')[i].innerText;
        console.log(date);
        }
    }
</script>  
READ ALSO
Angular 4. Как правильно передавать File в метод POST?

Angular 4. Как правильно передавать File в метод POST?

Нужно передать сам файл а не данные о файле authservice

445
Как отменить подавление ошибок в php

Как отменить подавление ошибок в php

Доброе время суток, на работе сегодня столкнулся с такой задачей есть некая платная CMS (если ее можно так назвать ) в которой гов

299
Blade - как экранировать @

Blade - как экранировать @

В blade знак @ зарезервирован, как его экранировать в шаблоне? Например я вставляю ссылку типа <script src="//unpkgcom/@textback/notification-widget@latest/build/index

268