Jak wyświetlić znaczniki html w js?

0

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

wywołując funkcje show

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}</" ?

0

moze bibloteka nie dziala odpowiednio?

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

sprawdz sobie ta bibloteke

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.

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)

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

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

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

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

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

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

 lang="latex"

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

 \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

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.

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ć :)

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:

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1