JS: setAttribute(name, param)
[HTML]
var mess = document.getElementById("mes"); // дискриптор DIV
var sc = document.createElement("img");
sc.setAttribute("src", filePath);
sc.setAttribute("width", "170");
sc.setAttribute("height", "130");
sc.setAttribute("border", "1");
sc.setAttribute("onclick", "show();");
sc.setAttribute("style", "cursor: pointer;");
mess.appendChild(sc);
[/HTML]
Получаем:
[HTML]
<div id="mes">
<img src="/img/1.jpg" width="170" height="130" border="1" onclick="show();"/>
</div>
[/HTML]
Атрибут onclick почему-то не работает, а атрибут style не прописывается вовсе.
Никто не знает почему так?
sc.src = ""
cs.name = ""
и т.д.
Но onclick пока все по старому.
На данном этапе это выглядит так:
[HTML]
var mess = document.getElementById("mes"); // дискриптор DIV
var sc = document.createElement("img");
sc.setAttribute("id", "myImg");
sc.setAttribute("src", filePath);
sc.setAttribute("width", "170");
sc.setAttribute("height", "130");
sc.setAttribute("border", "1");
mess.appendChild(sc);
var newImage = document.images["myImg"];
newImage.style.cursor = "pointer";
newImage.onсlick = "show('800','600','" + filePath + "');";
[/HTML]
Что-то надо делать с этим onClick. Еще идеи?
Код:
newImage.onсlick = "show(\'800\',\'600\',\'" + filePath + "\');";
2) DOM API полистай ;)
Вот так будет работать:
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Так вот...</title>
<script type="text/javascript">
function show() {
alert("Тут выполняется код функции show");
};
function fun() {
var filePath = 'image/img.gif';
var mess = document.getElementById("mes"); // дискриптор DIV
var sc = document.createElement("img");
sc.setAttribute("id", "myImg");
sc.setAttribute("src", 'file');
sc.setAttribute("width", "170");
sc.setAttribute("height", "130");
sc.setAttribute("border", "1");
var attr = "show(\'800\',\'600\',\'" + 'file' + "\')";
attr = "show()";
sc.setAttribute("onclick", attr);
sc.setAttribute("style", "cursor: pointer;");
mess.appendChild(sc);
}
function view() {
alert(document.getElementById("mes").innerHTML);
}
</script>
</head>
<body>
<div id="mes">
</div>
<input type="button" onclick="fun()" value="создать">
<input type="button" onclick="view()" value="показать">
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Так вот...</title>
<script type="text/javascript">
function show() {
alert("Тут выполняется код функции show");
};
function fun() {
var filePath = 'image/img.gif';
var mess = document.getElementById("mes"); // дискриптор DIV
var sc = document.createElement("img");
sc.setAttribute("id", "myImg");
sc.setAttribute("src", 'file');
sc.setAttribute("width", "170");
sc.setAttribute("height", "130");
sc.setAttribute("border", "1");
var attr = "show(\'800\',\'600\',\'" + 'file' + "\')";
attr = "show()";
sc.setAttribute("onclick", attr);
sc.setAttribute("style", "cursor: pointer;");
mess.appendChild(sc);
}
function view() {
alert(document.getElementById("mes").innerHTML);
}
</script>
</head>
<body>
<div id="mes">
</div>
<input type="button" onclick="fun()" value="создать">
<input type="button" onclick="view()" value="показать">
</body>
</html>
Да и при наборе кода стоит быть более внимательным...
2) будешь смеяться, так тоже не работает.
И кстати при
attr = "show()";
sc.setAttribute("onclick", attr);
в img выглядит как onclick=show(), т.е нет кавычек, которые должны быть (XHTML).
В общем я, вроде, уже все перепробывал. Cдаваться, конечно, не собираюсь, но уже подхожу к мысли, что это обыкновенный баг JS.
Всетаки с onClick действительно какой-то баг (подумал я)
А воспользуюсь ка я другим атрибутом (опять же подумал я)
[HTML]
var mess = document.getElementById("mes"); // дискриптор DIV
var href = document.createElement("a");
href.setAttribute("href", "java script: popup();");
var sc = document.createElement("img");
sc.setAttribute("id", "myImg");
sc.setAttribute("src", filePath);
sc.setAttribute("width", "170");
sc.setAttribute("height", "130");
sc.setAttribute("border", "1");
href.appendChild(sc);
mess.appendChild(href);
var newImage = document.images["myImg"];
newImage.style.cursor = "pointer";
[/HTML]
В итоге получил рабочую ссылку:
[HTML]
<a href="java script: popup();">
<img id="myImg" src="/img/1.jpg" width="170" height="130" border="1" />
</a>
[/HTML]
Спасибо alekciy и shaelf за пинки в сторону истины!
2) будешь смеяться, так тоже не работает.
И кстати при
[/QUOTE]
Буду! У меня работает (Opera 9, FireFox 1.5, Avant 9, IE 6), у тебя нет? Стоит задуматься ;)