Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как указать в .text() символы с HTML-кодом? (https://javascript.ru/forum/dom-window/73627-kak-ukazat-v-text-simvoly-s-html-kodom.html)

Булат Азат улы 01.05.2018 00:44

Как указать в .text() символы с HTML-кодом?
 
Всем здравствуйте. Такая вот проблема:
На сайте есть редкие символы, которые я указываю с помощью HTML-кода. Это символы "▶", "⏸" и пр. И мне нужно сделать так, что при нажатии на кнопку менять эти символы. Но таким образом скрипт не работает - не находит ни одного:
$(".playBtn").click(function(){
	if($(this).text() == "▶") {
		$(this).text("⏸");
	} else if($(this).text() == "⏸") {
		$(this).text("▶");
	} else {
		alert("Ничего не выбрано!!!"); // Временно
	}
});

То есть, выводится третий вариант. А тут вставлять сам символ как-то не красиво получается - даже мой Notepad++ показывает его квадратиком - и работать неудобно.

Помогите пожалуйста, как правильно поступить в такой ситуации?

Aetae 01.05.2018 02:41

Потому что "▶" - это html entity, а не текст.
Соответственно если работаем с текстом, то надо так и писать .text("▶") / .text() == "▶", либо использовать юникод кодировку: text("\u25b6") / .text() == "\u25b6" (что суть тоже самое). Либо работать с html().

А notepad++ показывает квадратиком, потому что выбран шрифт без (со скудной?) поддержкой юникод символов.

Булат Азат улы 01.05.2018 23:05

Aetae,
Спасибо! Я пробовал вставлять юникод-номеры, но в другом виде: "U+25B6". Так не работало.
В общем, теперь всё работает. Спасибо большое за помощь!


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