Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подскажите решение небольшей трудности в JavaScript (https://javascript.ru/forum/misc/77272-podskazhite-reshenie-nebolshejj-trudnosti-v-javascript.html)

Sergius182 12.04.2019 20:35

Подскажите решение небольшей трудности в JavaScript
 
есть блок див, в нем записано к примеру такое выражение
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>


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