Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Текстовая ссылка в JavaScriptе (https://javascript.ru/forum/misc/70400-tekstovaya-ssylka-v-javascripte.html)

MC-XOBAHCK 02.09.2017 16:39

Текстовая ссылка в JavaScriptе
 
Здравствуйте!
Подскажите, а можно ли передать ссылку в JavaScript и в jQuery ?

Например, хочу я вывести в результате текст: "Форум, Учебник, Справочник"
При этом я хочу чтобы каждое слово было со своей ссылкой.
Ссылки:
Форум - <a href="forum" target="_blank">Форум</a>
Учебник - <a href="https://learn.javascript.ru" target="_blank">Учебник</a> 
Справочник - <a href="manual" target="_blank">Справочник</a>

Скрипт:
var jsru = "Форум, Учебник, Справочник";

$('#test').text(jsru);

laimas 02.09.2017 16:56

Можно, только нет типа данных "ссылка", это строка. Но что значит передать, откуда? Если речь идет о формировании меню, то это нужно делать на сервере.

MC-XOBAHCK 02.09.2017 17:03

Мне нужно в переменной сделать слова ссылками. Не для меню, а для вывода результата.
Вот переменная:
var jsru = "Форум, Учебник, Справочник";
Как в ней сделать слова форум, учебник и справочник, чтобы они были тремя разными ссылками?

laimas 02.09.2017 17:10

Цитата:

Сообщение от MC-XOBAHCK
var jsru = "Форум, Учебник, Справочник";

И как JS должен определить какой URL каждому? Тогда уж массив или объект:

var jsru = [["Форум", "URL1"],[" Учебник", "URL1"], ["Справочник", "URL3"]];


и обходом в цикле получая данные из него формировать ссылки.

MC-XOBAHCK 02.09.2017 17:23

Сейчас попробую.

laimas 02.09.2017 17:29

Цитата:

Сообщение от MC-XOBAHCK
degtg >= 4 && degtg < 5

И какое это число будет?

MC-XOBAHCK 02.09.2017 17:39

Цитата:

Сообщение от laimas
И какое это число будет?

От четвёрки включительно, до пятёрки: 4; 4.10; 4.62; 4.99....... У меня результат градусы с дробями. Округлено до двух знаков (до сотых).
На пяти добавляется новое значение.
Вот как на виды поставить ссылки у меня собственно вопрос и осложнения.

laimas 02.09.2017 17:54

Ясно, то есть речь не о целых числах.

Просто проставьте в своих условиях сразу и URL для ссылок. Только в данном случае лучше switch использовать.

MC-XOBAHCK 03.09.2017 18:33

Цитата:

Сообщение от laimas
в данном случае лучше switch использовать

laimas, спасибо за намёк. Я с самого начала делал через switch, но делал неправильно. Искал, гуглил, но найти решения нигде не мог. А ваша подсказка дала понять что где то решение есть.
В общем переписал скрипт на switch и вынес все виды в отдельные переменные, НО
осталась проблема - я не смог найти решение как сделать ссылкой.
var a, b;
var for = "Форум",
      ler = "Учебник",
   man = "Справочник",
      prl = ", ";
switch(true) {
	case(a > b)  : res = for; break;
	case(a < b)  : res = for + prl + ler; break;
      case(a == b) : res = for + prl + ler + prl + man;
}
$('#test').text(res);

Подскажите пожалуйста, как сделать чтобы переменные Форум, Учебник, Справочник были ссылками?
Форум - <a href="forum" target="_blank">Форум</a>
Учебник - <a href="https://learn.javascript.ru" target="_blank">Учебник</a>
Справочник - <a href="manual" target="_blank">Справочник</a>

laimas 03.09.2017 19:14

А причем тут "Форум", "Учебник", "Справочник", где код в котором было много условий и как я понял то что в нем определялось и должно стать ссылками? А значит:

var url, txt; //если по умолчанию какой-то определен, значит указать
switch(значение уклона в градусах, а true, это глупость, это зарезервированное слово в языке, использовать как имя переменной его нельзя!) {
    case условие: url = "адрес"; txt = "текст";
                         break;
    ..... и т.д. 
}
$("<a/>", {href: url, text: txt, target: "_blank"}).appendTo(селектор элемента в который нужно добавить ссылку));


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