Всем привет! Столкнулся с одной проблемой. Помогите плиз
У меня есть хтмл один из участков кода которого привожу:
<td id="MyID" noWrap>
<font face="verdana, helvetica, Arial" color="black" size="1">{{{STRING_FOR_CHANGE}}}</font>
</td>
мне в этом хтмл документе нужно заменить эту строку: {{{STRING_FOR_CHANGE}}}
делаю я это следующим образом:
нахожу елемент по айдишнику MyID и заменяю текст:
pElement->get_innerHTML(&bstrInnerSA); //для проверки
pElement->put_innerText(CComBSTR("New String"));
pElement->get_innerHTML(&bstrInnerSA); //для проверки
После этого в документе появляется "New String" но все стили этого елемента слетают! =(
соответственно те ф-ии get_innerHTML, которые я поставил для проверки выдают разные хтмли этого елемента:
в первом случае правильный со стилями а во втором — никаких стилей только лишь "New String"
насколько я понимаю put_innerText не должен сбивать стили елемента?
В чем моя ошибка подскажите плиз. Сам я не могу найти ее — я в этой области новичок..
Заранее благодарен, всем успехов!
Здравствуйте, gis, Вы писали:
gis>Всем привет! Столкнулся с одной проблемой. Помогите плиз
gis>У меня есть хтмл один из участков кода которого привожу:
gis>gis><td id="MyID" noWrap>
gis><font face="verdana, helvetica, Arial" color="black" size="1">{{{STRING_FOR_CHANGE}}}</font>
gis></td>
gis>
gis>мне в этом хтмл документе нужно заменить эту строку: {{{STRING_FOR_CHANGE}}}
gis>делаю я это следующим образом:
gis>нахожу елемент по айдишнику MyID и заменяю текст:
gis>
gis> pElement->get_innerHTML(&bstrInnerSA); //для проверки
gis> pElement->put_innerText(CComBSTR("New String"));
gis> pElement->get_innerHTML(&bstrInnerSA); //для проверки
gis>
gis>После этого в документе появляется "New String" но все стили этого елемента слетают! =(
gis>соответственно те ф-ии get_innerHTML, которые я поставил для проверки выдают разные хтмли этого елемента:
gis>в первом случае правильный со стилями а во втором — никаких стилей только лишь "New String"
gis>насколько я понимаю put_innerText не должен сбивать стили елемента?
gis>В чем моя ошибка подскажите плиз. Сам я не могу найти ее — я в этой области новичок..
gis>Заранее благодарен, всем успехов!
что самое грустное — это так и должно быть. put_innerText убивает всё между задаными тегами. как вариант пользовать put_innerХТМЛ.
__>есть <TD id = value><font>text</font></TD>
__>в случае get_innerText он берёт то что между тегами. а когда идёт put_innerText
__><TD id = value>put_text<font>text</font></TD>...
__>если между <font></font> ничего нет — он просто убивает фонт (почему? не знаю...).
Так и должно быть

Что непонятно-то?
<TD> TD After Begin <FONT> inside font </FONT> TD before end </TD>
>>> print elem.innerText
"TD After Begin inside font TD before end"
>>> elem.innerText = "a b c"
<TD>a b c</TD>
А куда он по-твоему должен запихать "a b c"? Внутрь <FONT>? Или до него? Или после? Или "а" до, "b" внутрь и "c" после?

. А если там 8 мегабайт сложного html-текста внутри с параграфами, таблицами, картинками и разными цветами — в какой из 400000 внутренних тэгов этот текст надо положить?
Вообщем, все очень логично. Никаких стилей никуда не слетает. В данном случае тебе надо либо перенести стили в <TD style class id> в виде CSS, либо устанавливать innerText элементу FONT, а не TD.