Jak wyświetlić znaczniki html w js?

Jak wyświetlić znaczniki html w js?
Parafia Świętych
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Wytłumacze to na chłopski rozum.
Mam formularz. Użytkownik wpisuje -> **\frac{3}{2} ** (var text)

wywołując funkcje show

Kopiuj
function show() { 
var text;  
text = document.getElementById("zad").value;  
document.getElementById("zads").innerHTML = text;
}

w akapicie o id zads wyświetla mi się tylko " \frac{3}{2}</ " a nie wykonuje się to lang = "latex" … nie zamienia tego na ułamek :/
od latexa jest to: <script type="text/javascript" src="http://latex.codecogs.com/latexit.js"></script>

jak zrobić że gdy wywołam funkcje "show" pokazało mi ułamek a nie napis: "\frac{3}{2}</" ?

fasadin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4883
0

moze bibloteka nie dziala odpowiednio?

https://www.mathjax.org/#gettingstarted

sprawdz sobie ta bibloteke

Freja Draco
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3394
0

A odwołujesz się w jakikolwiek sposób do funkcji z latexit.js?
Bo show() czyta tylko zawartość zad i przypisuje ją do zads.

Parafia Świętych
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0
Freja Draco napisał(a):

A odwołujesz się w jakikolwiek sposób do funkcji z latexit.js?
Bo show() czyta tylko zawartość zad i przypisuje ją do zads.

W sensie żeby zadziałało musi być atrybut lang="latex"
Chodzi mi oto że w formularzu wpisuje (w polu)

Kopiuj
<span lang="latex">\frac{3}{2}</span>

więc jeśli pobiore to jako wartość w js

Kopiuj
text = document.getElementById("zad").value; 

czyli w zmiennej text mam -> \frac{3}{2}
i gdy chce wyświetlić tą zmienna text

Kopiuj
document.getElementById("zads").innerHTML = text;

To wyświetla mi tego span tylko nie używa atrybutu

Kopiuj
 lang="latex"

i nie zmienia to na ułamek tylko wyświetla jako ciąg znaków

Kopiuj
 \frac{3}{2}

Więc oto moje pytanie jak zrobić żeby używał ten atrybut lang="latex" Jeśli ma i wyświetlało jako ułamek

Ps. Wiem że show() tylko wyświetla.. bo oto chodzi tylko nie wiem jak to zmienić żeby pokazywało ten ułamek

Freja Draco
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3394
1

Biblioteka jest pomyślana do jednorazowego przetworzenia statycznej zawartości strony. Jeśli chcesz jej używać na dynamicznie wprowadzonych danych, to prawdopodobnie musisz ją ponownie wywołać po każdej modyfikacji zawartości:
LatexIT.init(); LatexIT.add('*');
I pewnie najlepiej nie na wszystkich elementach za każdym razem * tylko z zawężeniem to tego, który cię akurat interesuje.

Parafia Świętych
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0
Freja Draco napisał(a):

Biblioteka jest pomyślana do jednorazowego przetworzenia statycznej zawartości strony. Jeśli chcesz jej używać na dynamicznie wprowadzonych danych, to prawdopodobnie musisz ją ponownie wywołać po każdej modyfikacji zawartości:
LatexIT.init(); LatexIT.add('*');
I pewnie najlepiej nie na wszystkich elementach za każdym razem * tylko z zawężeniem to tego, który cię akurat interesuje.

Możesz dać przykład wykorzystania bo nowy jestem w świecie JS i troszkę nie rozumiem w którym miejscu mam to dodać :)

Freja Draco
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3394
0

Można by tę bibliotekę trochę przerobić, żeby dało się wskazać konkretny element do przerobienia, ale tak na szybko wystarczy, jak zrobisz np:

Kopiuj
<button onclick="document.getElementById('dynamiczny').innerHTML='E=mc^2'; LatexIT.render('p')";>E=mc^2</button>
<p lang="latex" id="dynamiczny"></p>

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.