Подскажите решение небольшей трудности в JavaScript
есть блок див, в нем записано к примеру такое выражение
5+8-(6-5) надо его решить, но функция eval() не помогает. Пробую eval( parseInt( div1.innerHTML)) Не подходит eval( div1.innerHTML) тоже не подходит подскажите что не так. |
в Хроме работает:
var str = '5+8-(6-5)'; var result = (0,eval)(str); alert(result); |
new Function(`return ${div.innerHTML}`)()
|
Спасибо, разобрался. Дело в том, что этот див состоит не просто из
5+8-(6-5) а примерно из этого <b>5</b><b>+8</b>-<b>(6-5) </b> Браузер эти теги не отображает- видно просто выражение, а при желании уравнять это выражение в String() ругается - не может. Не знаю только как просто обойти |
<div id="div1"><b>5</b><b>+8</b>-<b>(6-5) </b></div> <script> alert(eval(div1.innerText)); </script> |
Часовой пояс GMT +3, время: 01:00. |