powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / динамическое добавление аттрибута в тег
8 сообщений из 8, страница 1 из 1
динамическое добавление аттрибута в тег
    #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
динамическое добавление аттрибута в тег
    #33559530
М.Голованов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+'<script language="JavaScript"><!-- \r\n function element(){var ElemEv;ElemEv=self.event.srcElement.id; alert(self.parent.t)}</script>'
...
Рейтинг: 0 / 0
динамическое добавление аттрибута в тег
    #33559566
PrettyWoman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожалению, так не работает..ошибки никакой не выдает, но и результата тоже нет...Не понимаю..
...
Рейтинг: 0 / 0
динамическое добавление аттрибута в тег
    #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
динамическое добавление аттрибута в тег
    #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
динамическое добавление аттрибута в тег
    #33559601
Фотография А.Грасоff™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это и не будет работать. потому что в строке: b.body.onclick=element();
интерпретатор ничего не знает о функции element(). правильно писать, кстати,
надо без скобок. но это ничего не изменит.
...
Рейтинг: 0 / 0
динамическое добавление аттрибута в тег
    #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
динамическое добавление аттрибута в тег
    #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
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / динамическое добавление аттрибута в тег
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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