Вход

Просмотр полной версии : Подскажите решение небольшей трудности в JavaScript


Sergius182
12.04.2019, 20:35
есть блок див, в нем записано к примеру такое выражение
5+8-(6-5)
надо его решить, но функция eval() не помогает.
Пробую eval( parseInt( div1.innerHTML))
Не подходит
eval( div1.innerHTML)
тоже не подходит
подскажите что не так.

Alexandroppolus
12.04.2019, 20:58
в Хроме работает:


var str = '5+8-(6-5)';
var result = (0,eval)(str);
alert(result);

Stownheidg
14.04.2019, 18:48
new Function(`return ${div.innerHTML}`)()

Sergius182
18.04.2019, 20:48
Спасибо, разобрался. Дело в том, что этот див состоит не просто из
5+8-(6-5) а примерно из этого
<b>5</b><b>+8</b>-<b>(6-5) </b>

Браузер эти теги не отображает- видно просто выражение, а при желании уравнять это выражение в String() ругается - не может. Не знаю только как просто обойти

Dilettante_Pro
19.04.2019, 10:38
<div id="div1"><b>5</b><b>+8</b>-<b>(6-5) </b></div>
<script>
alert(eval(div1.innerText));
</script>