Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как перенести содержимое div в функцию (https://javascript.ru/forum/misc/73181-kak-perenesti-soderzhimoe-div-v-funkciyu.html)

Artur_Hopf 27.03.2018 14:06

Как перенести содержимое div в функцию
 
Добрый день

у меня есть блок:
<div id="test_div" onclick="testDiv(содержимое)">Test</div>

Как перенести содержимое div в функцию? Чтобы было на вроде:
function testDiv(elem){
для понятности :   var elem = $("#test_div").text();
};

Просто скопировать название:
<div id="test_div" onclick="testDiv('Test')">Test</div>

нельзя, потому что содержимое меняется посредством ajax.

Так схитрить пробовал, только кавычки мешаются:
<div id="test_div" onclick="testDiv('$("#test_div").text()')">Test</div>

j0hnik 27.03.2018 14:14

$('#test_div').click(function(){
	var elem = this.textContent;
});

Dilettante_Pro 27.03.2018 14:16

Artur_Hopf,
Вы же уже вроде и ответили:-? - если убрать лишнее

<div id="test_div" onclick="testDiv()">Test</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
function testDiv(){
   var elem = $("#test_div").text();
   alert(elem);
};

</script>

Artur_Hopf 27.03.2018 14:22

j0hnik,
В общем там 1 функция на множество div нужна, а нужно это для:
PDFObject.embed("inc/"+$("#test_div").text(), "#open_pdf");

то есть текст внутри div это продолжение к пути файла, файлов этих много надо упростить код до 1 функции:
function testDiv(elem){
PDFObject.embed("inc/"+elem, "#open_pdf");
};


При клике по конкретному блоку его имя бы передавалось в функцию, там происходит открытие pdf файла, да я могу написать на каждый блок клик событие, но это не очень.

j0hnik 27.03.2018 14:23

<div id="test_div">Test</div>
<div>Test</div>
<script>	
	function testDiv(){
		var elem = this.textContent;
	}
	$('div').click(testDiv);
</script>

Artur_Hopf 27.03.2018 14:30

j0hnik,
Спасибо, не плохо вышло :thanks:


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