为什么我不能使用任何DOM函数?

时间:2012-11-16 20:23:40

标签: javascript html dom

<!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>

<style  type="text/css">
div.main1{
background-color:#EEE;
border: 2px dotted;
padding: 5px;
}
div.sub{
background-color:#DDD;
border: 1px dashed;
padding: 3px;
width:50%;
}
</style>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<script type="text/javascript">
function showOptions(box){
box.childNodes[0].style.visibilty = "visible";
box.childNodes[1].style.visibilty = "visible";
}

function hideOptions(box){
box.childNodes[0].style.visibilty = "hidden";
box.childNodes[1].style.visibilty = "hidden";
}
</script>
<center>

<div class="main1">
<div class="sub" onmouseover="showOptions(this);" onmouseout="hideOptions(this);"><input />               
</div>

</center>
</body>
</html>

上面是我正在使用的代码示例,我正在使用Dreamweaver ...我关心的是,当我在showOptions(方框)方法中的“方框”后按Ctrl + Space时,我看不到任何DOM对象选项,我道歉,如果我没有意义,因为我对HTML + Javascript很新,基本上我试图做的是检查HTML元素的函数的给定参数,如果是这样,允许我访问它的方法如“childNodes”或“setAttribute()”等等。

这可能吗?

2 个答案:

答案 0 :(得分:2)

您所描述的内容称为智能感知/代码提示。根据我的理解,Dreamweaver在这方面做得不是很好。

你想过使用不同的编辑器吗?如果你主要使用.Net以外的代码,那么可能会像Komodo Edit那样。

如果您正在沿着.Net路线走,那么当然有Visual Studio Express可以更好地处理Intellisense /代码提示

修改

另外,你试图在方法本身上看到intellisense - 这不是意图。它旨在从其他地方查看该方法。理想情况下,你可以在下面显示你的CTRL +空间:

    onmouseover="showOptions(this);"
    -------------------------^Here

另一个编辑

另外,看看你的代码,它不会起作用..

您正在引用一个不存在的孩子:

box.childNodes[1].style.visibilty = "hidden";

childNodes从零开始,因此[0]将是input[1]没什么。

<强>最后

我建议您安装Firefox和Firebug。 Firebug将帮助您调试所有的JavaScript。它可以很好地告诉你问题是什么/在哪里。

答案 1 :(得分:0)

您可以使用JSDOC

提供有关类型的IDE提示
/**
 * @param {HTMLElement} box
 */
function showOptions(box){

}

许多IDE都能够读取该信息并为HTMLElement提供正确的方法。但是,如果你在box.childNodes[i]

之后点击ctrl + space,我还没有看到一个足够聪明的知道建议的内容