Форум: "Прочее";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.073 c