Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Javascript и <a>текст внутри тега</a> (https://javascript.ru/forum/misc/46436-javascript-i-tekst-vnutri-tega.html)

taravasya 09.04.2014 17:13

Javascript и <a>текст внутри тега</a>
 
Простая вроде бы задача,... но никак..(((
Есть такой "код" :yes: :
<a href="javascript:GetURL();">Текст ссылки</a>

С генерацией ссыслки разобрался. Всё работает. А как сделать что-бы вместо надписи "Текст ссылки", подставлялся ещё один результат javascript функции?

Octane 09.04.2014 17:33

<style>
.action {
	text-decoration: underline;
	cursor: pointer;
}
</style>

<span class="action" data-role="get-url">Текст ссылки</span>

<script>

	function getURL() {
		this.textContent = "Другой текст";
	}

	var getUrlButton = document.querySelector('[data-role="get-url"]');

	getUrlButton.addEventListener("click", getURL);

</script>

taravasya 09.04.2014 17:34

Туплю... Два дня искал решение, и лишь после создания темы, сам допетрил как сделать....
Получилось такое(вдруг кто-то ещё столкнётся):
<a href="javascript:GetURL();"><script type="text/javascript">some javascript code</script></a>

taravasya 09.04.2014 17:39

Octane, спасибо за совет. В Вашем примере, насколько я понял, текст меняется после клика по ссылке? А между тем, мне нужно что-бы текст генерировался при загрузке страницы...

jsnb 09.04.2014 17:39

Цитата:

Сообщение от taravasya (Сообщение 306993)
<a href="javascript:GetURL();">

И шо, это извращение работает? Так внутренности href можно тоже через document.write при загрузке формировать.

P.S. А document.write работает только во время загрузки страницы.

UPDATE
Цитата:

Сообщение от taravasya (Сообщение 306993)
<a href="javascript:GetURL();"><script type="text/javascript">some javascript code</script></a>

То что пишется при загрузке в HTML надо выводить через document.write.
Например при загрузке вместо этого блока будет сгенерирована ссылка с заданными url и текстом:
<script>
(function() {
var url = 'http://someurlhere.com';
var linkText = 'some text';
var link = '<a href="' + url +'">' + linkText + '</a>';
document.write(link);
})();
</script>

taravasya 09.04.2014 17:50

Цитата:

внутренности href можно тоже через document.write при загрузке формировать.
Мне это и нужно. И я в итоге так и сделал)))

taravasya 09.04.2014 17:56

jsnb, спасибо. Попробую Вашим методом. Так вроде бы всё можно будет уложить в одну функцию. У меня же сейчас две. Причём в результате один и тот же текст, только результатом первой является:
window.open(href="http://" + result);

А второй:
document.write(result);

taravasya 09.04.2014 18:32

Цитата:

Сообщение от jsnb
И шо, это извращение работает?

И таки да..(( На поверку оказался не рабочий вариант...


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