итак решил написать свой JS фреймворк. прошу избавить меня от ответов на вопросы "зачем? ведь есть же JQuery/prototype/.." и тд. если вам очень очень хочется спросить это то считайте я решил досконально изучить нативный JS..
теперь к делу.написал несколько методов и тут возникла Заминочка: не могу понять почему не работает метод css. в связи с этим просьба помочь. что исправить в нем? вроде метод проще некуда, а мучаюсь вот с ним.
исходный код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml" lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<style type="text/css">
.defaultstyle{
font:normal 18pt arial;
text-decoration:none;
color: green; /* Цвет текста */
font-weight: bold; /* Жирное начертание */
}
.newstyle{
font:italic 14pt arial;
text-decoration: underline;
color: red;
}
</style>
<body>
<div id="test" class="defaultstyle" onmouseover="aa()">
привет
<ul>
<li>a</li>
<li>b</li>
</ul>
</div>
<script>
// функция проверяет является ли параметр строкой
function isstr(param) {
return typeof(param) == 'string';
}
function $(param) {
var obj = isstr(param) ? document.getElementById(param) : param;
obj.child = function(tagName) {
return this.getElementsByTagName(tagName);
}
obj.append = function(param) {
return this.appendChild(isstr(param) ? document.createElement(param) : param);
}
obj.parent = function() {
return this.parentNode;
}
// вот собственно сам метод css на вход принимает имя нового класса //css который нужно применить вместо старого
obj.css = function(classn) {
this.className = "classn";
//console.log("тут работает");
return this;
}
obj.empty = function() {
while(this.firstChild) this.removeChild(this.firstChild);
return this;
}
return obj;
}
//функция выполняемая при наведении мыши на объект
function aa(){
$('test').css("newstyle");
}
</script>
</body>
</html>