能够给“name”赋任何值;为什么不能给它赋document.getElementById('name'
Able to assign any value to "name" but not able to assign document.getElementById('name') to it why?
我正试图分配document.getElementById('name')到'name',但它没有被分配为什么?
<body>
<h1>Hello World</h1>
<input type="text" id="name">
<script type="text/javascript">
var name;
console.log('before change name = ', name);// [object HTMLInputElement]
name = 'change value of name';
console.log('after change name = ', name);//change value of name. name is changeable here
name = 5;
console.log('again change name = ', name);// 5. name is changeable here
var worker = new Worker('/js/worker.js');
name = document.getElementById('name');//name is not changeable here why ?
console.log('assign input name value name = ', name);//[object HTMLInputElement]
name.onkeyup = function(){
worker.postMessage({msg:'send to worker'});
};
worker.onmessage = function(e){
console.log(e.data, 'from worker');
};
</script>
</body>
我只是想让document.getElementById('name')
进入name
,但name = document.getElementById('name')
这一行对name
没有影响,为什么?
这都取决于你想要分配什么。你的问题不太清楚。
如果你试图将'name'(元素)的值设置为'name' (javascript变量)的值,你可以使用:
document.getElementById("name").value = name;
如果你试图将'name'(变量)的值设置为'name'(元素)的值,你可以使用:
name = document.getElementById("name").value; //(As shown in the previous answer)
如果你想在(p, li, td等)的innerHTML中显示'name'(变量)的值,你可以使用:
document.getElementById("name").innerHTML = name;
您将具有id="name"
的DOM元素分配给name
。您可能需要的是DOM元素的当前值。
name = document.getElementById('name').value;
编辑:由于您需要的是将事件处理程序附加到元素,因此您需要使用addEventListener()
方法:
name = document.getElementById('name');
name.addEventListener("keyup", function() {
worker.postMessage({msg:"'send to worker'});
});
https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener?redirectlocale=en-US& redirectslug = DOM % 2 feventtarget.addeventlistener
似乎我们不能使用'name'作为全局变量的原因是'name'是浏览器窗口对象的属性。它是JavaScript中的内置属性。访问:https://developer.mozilla.org/en-US/docs/Web/API/Window/name
在这里回答:什么是JavaScript中的name
关键字?
相关文章:
- 正在寻找比$(document).ready慢的$(window).load的替代方案
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 如何用更合适的内容替换document.write
- document.styleSheets不返回任何内容
- jQuery document.ready not working
- AngularJS单选筛选不适用于Name、Description和Field4复选框值
- $(document).height()在刷新时随机化值(Safari 5.1.10)
- reactjs this.refs vs document.getElementById
- 未捕获的类型错误:无法读取属性'name'即使它存在,也无法定义
- 正在检测导航到<a name=“;最新主题”></a>
- 如何通过adf中的document.getElementById获取inputText字段值
- window.opener.document在ie中不起作用
- contentWindow.document.body is null
- document.applet.method在Mounatin Lion上抛出safari 6+JDK7异常
- 骨干's Router.execute(callback,args,name)方法获取未定义的名称
- 如何重用var name = document.getElementById("name");在同一
- JS文件.如果你有一个name="document"的表单,getElementById就不是一个函
- 能够给“name”赋任何值;为什么不能给它赋document.getElementById('name'
- document.getElementsByClassName('name')的长度为0
- Javascript document.getElementById("name") returni