Javascript 在JS函数中返回值
有人能解释一下为什么我不能在函数中使用document.getElementById('id')。值吗 我试着编写一个简单的乘法脚本(我在学习JS,其实挺有趣的),很快就意识到键入整行代码只是为了返回一个值是多么烦人,所以我编写了一个小函数:Javascript 在JS函数中返回值,javascript,return-value,Javascript,Return Value,有人能解释一下为什么我不能在函数中使用document.getElementById('id')。值吗 我试着编写一个简单的乘法脚本(我在学习JS,其实挺有趣的),很快就意识到键入整行代码只是为了返回一个值是多么烦人,所以我编写了一个小函数: <script type="text/javascript"> function value(elementid){ return document.getElementById(elementid).value } </script&g
<script type="text/javascript">
function value(elementid){
return document.getElementById(elementid).value
}
</script>
函数值(elementid){
返回文档.getElementById(elementid).value
}
但是,这不起作用,只会破坏我整个脚本的功能。我只想键入value('id')来返回元素的值
为了解决这个问题,一位朋友建议我去掉函数中的.value,并将它添加到我调用函数的每行末尾,比如value('id').value
为什么我的第一条路不起作用
谢谢你的帮助 你所做的应该是有效的。这叫什么?调用元素时,元素可能不在DOM中。例如,在实际元素之前在内联脚本中调用它。您确定要获取的元素具有value属性,而不是.text或
如果它是一个输入标记,您也可以使用.value和其他一些HTML控件元素,但对于常规的DIV、SPAN等,我认为它们不会公开.value属性。检查标签文档,看看它们是否支持.value。我相信russau的做法是正确的。您可以通过将块移动到页面末尾来测试这一点,因为除非您有一个复杂的页面结构,否则希望所有内容都能在该点加载。不是每个DOM元素都有一个名为value的属性,这可能是脚本崩溃的原因。您可以尝试以下方法:
<script type="text/javascript">
function value(elementid){
var el = document.getElementById(elementid);
return el.value || el;
}
</script>
函数值(elementid){
var el=document.getElementById(elementid);
返回el.value | | el;
}
如果el.value存在或不只是元素,则返回el.value。这不是最优雅的解决方案,但它可能会阻止其他脚本崩溃。在不知道调用该函数的上下文的情况下,我会情不自禁地将函数名更改为类似“getValue”的名称。 这个代码在我的机器上运行:P
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<script type="text/javascript">
function getvalue(id) {return document.getElementById(id).value;}
</script>
</head>
<body>
<input type="text" id="Text1" />
<input type="button" onclick="alert(getvalue('Text1'))" /> <br />
<input type="text" id="Text2" />
<input type="button" onclick="alert(getvalue('Text2'))" /> <br />
<input type="text" id="Text3" />
<input type="button" onclick="alert(getvalue('Text3'))" /> <br />
</body>
</html>
函数getvalue(id){return document.getElementById(id).value;}
将函数名称从“value”更改为其他名称基本上,任何东西都在调用它,但实际上没有任何东西起作用。我的脚本应该放在头上还是其他什么地方?脚本放在所有html之前,在正文中。你能举一个具体的例子,说明它在哪里被调用而不起作用吗?正如其他人所提到的,这可能与调用时尚未设置DOM有关。这是专门针对输入字段的,所以idk为什么它不起作用。我唯一能想到的是遵循russau的建议。确保在创建元素之前没有调用JavaScript。是否至少在文档/正文onload事件中包装调用?我认为最好粘贴整个脚本