изменить внутренний HTML какао DOMElement - PullRequest
1 голос
/ 08 июня 2009

Objective-c, Webview

Здравствуйте, Я пытаюсь изменить innerHTML элемента DOM в DOMDocument:

DOMDocument * myDOM = [[storyDisplay mainFrame] DOMDocument];
DOMElement * heading = [myDOM getElementById: @ "heading"]; [heading setNodeValue: @ "hejsa"];

Кажется, что ничего не меняется при выполнении вышеуказанных строк, это правильный способ редактирования атрибута innerHTML?

Спасибо, Мэдс Хартманн Дженсен

Ответы [ 2 ]

2 голосов
/ 09 июня 2009

Я обнаружил, что одним из способов достижения этого было использование Javascript для игры с DOM:

id *scriptObject= [storyDisplay windowScriptObject]; 
[scriptObject callWebScriptMethod:@"repleaceHeader" withArguments:[[NSArray alloc] initWithObjects:@"Whatever you want the header to be"]];

Этот фрагмент кода получает среду сценариев из веб-представления и выполняет функцию javascript с именем replaceHeader и массивом аргументов (в моем случае это только строка).

Для этого необходимо, чтобы у вас была функция javascript с таким именем, часть моего HTML-документа выглядит так:

<h1 id="heading">Welcome to Cookie</h1>
<script type="text/javascript">
function repleaceHeader(header) { 
    var heading = document.getElementById("heading"); 
    heading.innerHTML = header; 
}       
</script>
0 голосов
/ 10 июня 2009

Почему бы просто не использовать -setInnerHTML: метод?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...