我有一个JavaScript函数,我向其中传递一个参数。该参数表示我的网页中一个元素(一个隐藏字段)的ID。我想要更改此元素的值。
function myFunc(variable) {
var s = document.getElementById(variable);
s.value = 'New value'
}
当我这样做时,会出现一个错误,提示无法设置值,因为对象为空。但是我知道该对象不为空,因为我在浏览器生成的HTML代码中看到了它。
无论如何,我尝试了以下代码进行调试
function myFunc(variable) {
var x = variable;
var y = 'This-is-the-real-id'
alert(x + ', ' + y)
var s = document.getElementById(x);
s.value = 'New value'
}
当警告消息出现时,两个参数都是相同的,但我仍然收到错误。但是当我这样做时,一切都正常。
var s = document.getElementById('This-is-the-real-id');
s.value = 'New value'
我该如何修复这个问题?
我要设置值的元素是一个隐藏字段,其ID是动态设置的,随着页面加载而变化。我已经尝试在$(document).ready函数中添加了这个,但它没有起作用。
alert()
或console.log()
时,您应该始终使用一些标记字符来包装值,以便您可以确定字符串中是否有杂散的空格字符。因此:alert("[" + x + "], [" + y + "]");
- Pointy