我无法弄清楚以下代码有什么问题。我试图实现类似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>
答案 0 :(得分:4)
你需要在将元素添加到dom之后调用该函数,就像在window.onload事件上一样
window.onload = function () {
uquery("p").css("color", "red");
}
演示:Fiddle
另请查看bracket notation以访问动态属性
dome[i].style[property] = value;