Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.04;
Скачать: CL | DM;

Вниз

WebBrowser: поиск всех элементов с нужным ID   Найти похожие ветки 

 
Mr. D.   (2007-02-06 22:38) [0]

Имеется HTML страничка, в которой нужно динамически заменять элементы на данные, приходящие по сети. Страничка аля:

<SPAN id="param1">Параметр1</SPAN>
<SPAN id="param2">Параметр2</SPAN>


Я принимаю данные, которые нужно отобразить, и далее средствами движка IE ищу элементы по ID, чтобы их заменять. Навроде такого:

Document := WebBrowser.Document as IHtmlDocument2;
Collection := Document.all;
Element := Collection.item("param1", NULL) as IHTMLElement;
if assigned(Element)
 Element.innerHTML := "что-то там";


Но при этом если в документе несколько элементов с нужным ID, например сверху и снизу страничи:

<SPAN id="param1">Параметр1</SPAN>
....
......
...
<SPAN id="param1">Параметр1</SPAN>


То заменяется только верхний SPAN...

А вот как найти все элементы с нужным ID?


 
palva ©   (2007-02-06 23:04) [1]

> Element := Collection.item("param1", NULL) as IHTMLElement;
А если попробовать вместо NULL поставить 1 ?


 
Mr. D.   (2007-02-06 23:11) [2]

и до какого числа перебирать?

Мне кажется не то...


 
palva ©   (2007-02-06 23:15) [3]

и до какого числа перебирать?
Length ?
На JavaScript все когда-то делал элементарно. На Delphi надо пробовать, читать MSHTML. В общем не знаю.


 
palva ©   (2007-02-06 23:35) [4]

> Мне кажется не то...
А почему вы собственно, сами не хотите попробовать? Я попробовал, - у меня получилось. На слабо меня взяли?
До свидания (с) Думкин.


 
ИА   (2007-02-07 09:45) [5]

Цикл по document.all и вызывать getAttribute для каждого элемента.
Если у вас только span то IHTMLDocument3.GetElementsByTagName() вместо all


 
Gero ©   (2007-02-07 16:30) [6]

ID должен быть уникальным.


 
Mr. D.   (2007-02-07 16:48) [7]

Gero, я думал об этом. А как тогда решить проблему, что нужно заменить теги в нескольких местах странички (например, сверху и снизу), причем сколько таких мест я не знаю, текстс транички мне заранее не известен, нужно просто как-то выделить группу элементов.


 
Gero ©   (2007-02-07 16:52) [8]

Используй свойство name и GetElementsByName — она возвращает коллекцию элементов с нужным name.


 
Mr. D.   (2007-02-08 01:44) [9]

ясно... Я было думал, что как раз name это уникальное название, а ID объединяет группы. Спасибо!



Страницы: 1 вся ветка

Текущий архив: 2007.03.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.049 c
15-1170761902
vasIZmax
2007-02-06 14:38
2007.03.04
Оболочка для тестов


2-1171535472
dzhagr1
2007-02-15 13:31
2007.03.04
Связь таблиц paradox7 в database desktop


2-1171569349
Proz2
2007-02-15 22:55
2007.03.04
Ошибка при запуске по F9


2-1171291224
Sapos
2007-02-12 17:40
2007.03.04
Сохранение в файл


2-1171096473
Kolan
2007-02-10 11:34
2007.03.04
Как установить свой компонент в IDE?