Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / динамическое добавление аттрибута в тег / 8 сообщений из 8, страница 1 из 1
21.02.2006, 20:40
    #33559393
PrettyWoman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
динамическое добавление аттрибута в тег
Динамически добавляю скрипт в HTMLдокумент, загружаемый во фрейм.
Вызов функции происходит по клику на любой элемент находящийся в загружаемом HTMLдокументе.
Хочу добавить аттрибут onclick с соответствующим значением в тег <body> с помощью метода setAttribute, но почему-то не получается. Помогите найти ошибку!
Или может кто-то знает другой способ динамического добавление аттрибута в тег.. Спасибо
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<html>
  <head>
    <script language="JavaScript">
      var t =  799 ;
      
      function Пример() {
        b = frames['MyIFRAME'].document;
        b.body.innerHTML = b.body.innerHTML + 
          '<script language="JavaScript">' + 
          'function element() {' +
          '  var ElemEv;' +
          '  ElemEv = self.event.srcElement.id;' +
          '  alert(self.parent.t);' +
          '}</script>';
        b.body.setAttribute("onclick", "element()");
}
</script>
</head>
<body >
<iframe name="MyIFRAME" src="proba.htm" onload="Пример()"></iframe>
</body>
</html>
...
Рейтинг: 0 / 0
21.02.2006, 22:41
    #33559530
М.Голованов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
динамическое добавление аттрибута в тег
+'<script language="JavaScript"><!-- \r\n function element(){var ElemEv;ElemEv=self.event.srcElement.id; alert(self.parent.t)}</script>'
...
Рейтинг: 0 / 0
21.02.2006, 23:12
    #33559566
PrettyWoman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
динамическое добавление аттрибута в тег
К сожалению, так не работает..ошибки никакой не выдает, но и результата тоже нет...Не понимаю..
...
Рейтинг: 0 / 0
21.02.2006, 23:32
    #33559580
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
динамическое добавление аттрибута в тег
onclick, грубо говоря, не совсем атрибут тэга. это событие. и использование
setAttribute некорректно. правильно делать так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<html>
<head>
<title>test</title>
<script type="text/javascript">
function myFunction() {
  alert(new Date());
}
</script>
</head>
<body>
<script type="text/javascript">
document.body.onclick = myFunction;
</script>
</body>
</html>
...
Рейтинг: 0 / 0
21.02.2006, 23:49
    #33559593
PrettyWoman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
динамическое добавление аттрибута в тег
То есть, если я правильно поняла, должно работать и так:
<html>
<head>
<script language="JavaScript">
var t = 799;

function Пример() {
b = frames['MyIFRAME'].document;
b.body.innerHTML = b.body.innerHTML +
'<script language="JavaScript">' +
'function element() {' +
' var ElemEv;' +
' ElemEv = self.event.srcElement.id;' +
' alert(self.parent.t);' +
'}</script>';
b.body.onclick=element();
}
</script>
</head>
<body >
<iframe name="MyIFRAME" src="proba.htm" onload="Пример()"></iframe>
</body>
</html>

Пробовала, тоже не получается...ошибки нет, но и результат нулевой..Мне же нужно, что бы по клику на любом элементе документа, загруженного во фрейм, срабатывала функция, я ее вызов хочу запихать в тег <body >, но не родительского документа, а дочернего..а результат ее работы должен передаваться в переменную родительского документа
...
Рейтинг: 0 / 0
21.02.2006, 23:58
    #33559601
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
динамическое добавление аттрибута в тег
это и не будет работать. потому что в строке: b.body.onclick=element();
интерпретатор ничего не знает о функции element(). правильно писать, кстати,
надо без скобок. но это ничего не изменит.
...
Рейтинг: 0 / 0
22.02.2006, 10:40
    #33560071
PrettyWoman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
динамическое добавление аттрибута в тег
Придумала еще вот что:

<html>
<head>
<script language="JavaScript">
var t=799;
<!--
function Пример(){
var s;
b=frames['MyIFRAME'].document;
b.body.innerHTML=b.body.innerHTML+'<script language="JavaScript"><!--function element(){var ElemEv;ElemEv=self.event.srcElement.id; alert(self.parent.t)}</script>';
s=b.body.outerHTML.substring(1, 5) +' '+'onclick'+'='+'"element()"'+'>';
b.body.outerHTML = s + b.body.innerHTML+'<'+'/body'+'>';}
-->
</script>
</head>
<body>

<iframe name="MyIFRAME" src="proba.htm" onload="Пример()"></iframe>

</body>
</html>

но тоже не работает..выдает ошибку, но не говорит какую.. Кто видит, исправтье, пожалуйста!
...
Рейтинг: 0 / 0
22.02.2006, 20:25
    #33561830
Alex-2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
динамическое добавление аттрибута в тег
Напиши апплет на Java и вставь текст из примера
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
 import  org.w3c.dom
.......
Document doc = parseXmlFile("infilename.xml", true);
    Element element = doc.getElementById("key1");
    
    // Add an attribute
    element.setAttribute("newAttrName", "attrValue");
    
    // Change the value of an attribute.
    // Special characters are automatically converted to entities by the XML writer.
    element.setAttribute("newAttrName", "<>&\"'");
    
    // Remove an attribute
    element.removeAttribute("value");
    
    // However, if the attribute has a default value, the attribute cannot be removed
    boolean has = element.hasAttribute("value");      // true
    
    // The effect of removing an attribute with a default value
    // is to set the attribute to the default value
    String attrValue = element.getAttribute("value"); // mydefault

Вот:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE map [ <!ELEMENT map (entry*) >
                    <!ELEMENT entry EMPTY >
                    <!ATTLIST entry key   ID    #REQUIRED
                                    value CDATA "mydefault"> ]>
    <map>
        <entry key="key1" value="value1"/>
        <entry key="key2" />
    </map>

Получилось:

    <?xml version="1.0" encoding="UTF-8"?>
    <map>
        <entry key="key1" newAttrName="<>&"'" value="mydefault"/>
        <entry key="key2" value="mydefault"/>
    </map>
Lusy &&
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / динамическое добавление аттрибута в тег / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]