如何让jquery像函数一样工作?

时间:2014-07-31 02:34:10

标签: javascript jquery coding-style syntax-error

我无法弄清楚以下代码有什么问题。我试图实现类似jquery的功能,但是下面的代码对我来说不起作用。我可以看到console.log(dome)打印圆顶阵列中的所有段落,但是当我调用此数组时,它不会显示任何结果。你能帮忙吗?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Testing</title>
<script>
function uquery(domElement){

    console.log("In uquery function");      
    var uqObject={} // end object   

    uqObject.css=function(property, value){

        var dome = document.getElementsByTagName(domElement);

        console.log(dome);
        console.log(property, value);
        console.log(dome.length);               
        for(i=0; i<dome.length; i++ ){

            console.log("loop count"+i);

            if(property=="color")
            {               
                dome[i].style.color=value;              
            }

        }//end loop

    }

    return uqObject; 

}// end uquery

uquery("p").css("color", "red");
//var obj=uquery("p");  
//obj.css("color", "red");


</script>
</head>

<body>
    <p>Testing Jquery like style</p>

    <p>See if it works</p>

    <p>Third Paragraph</p>
</body>
</html>

1 个答案:

答案 0 :(得分:4)

你需要在将元素添加到dom之后调用该函数,就像在window.onload事件上一样

window.onload = function () {
    uquery("p").css("color", "red");
}

演示:Fiddle

另请查看bracket notation以访问动态属性

dome[i].style[property] = value;