I'm在一些函数周围传递一个元素;这个“;关键字和“;呼叫“;方法
I'm passing around some functions an element using the "this" keyword and the "call" method
我要做的是将一个确定的元素传递给一个函数,我试图用"this"关键字表示该元素。问题是它必须跨越两个函数,我不明白错误在哪里。一切都从第三个函数开始,然后调用传递文档的第二个函数。body将被视为函数的"this"。然后第二个函数用"call"方法将"this"传递给第一个函数。
function create_tag(tag, inner) {
element = document.createElement(tag);
if (inner) {
element.innerHTML = inner;
}
this.appendChild(element);
return element;
}
function create_input(label_value) {
input = create_tag.call(this, "input");
label = create_tag.call(this, "label", label_value);
input.setAttribute("id", "pers_" + label_value);
return input;
}
function crea_personaggio() {
input_values = ["Name", "Lastname", "Nickname", "Age"];
for (i = 0; i < input_values.length; i++) {
create_input.call("document.body", input_values[i]);
}
}
.call()
需要一个对象作为第一个参数传入,而您传入的是一个字符串,这在这里显然不适用(但在技术上可以)。
只需选择
create_input.call(document.body, input_values[i]);
除此之外,您还将为任何变量声明提交var
关键字,这些变量声明将最终成为一组全局变量(这在这里可能不是问题,但这是非常糟糕的因果报应)。
相关文章:
- 为什么在这个网站上不能通过JS访问元素
- 通过“;这个“;从html元素/控件到javascript
- 有没有办法将选择器返回到元素?是$(这个)还是其他方法
- 根据DOM,HTML元素的开始和结束标记之间的内容被称为属性.这个房产的名字是什么
- 为什么这个脚本只工作一次?只替换元素一次,然后再也不替换
- HTML JavaScript,我如何能够通过给每个元素一个不同的Id来使用JavaScript使这个函数工作
- 删除这个元素,只删除这个元素jQuery
- 传递这个元素并进入纯 javascript
- 浏览器中的观察者模式javascript:订阅事件"添加了Dom元素“;并处理这个元素
- 如何使用jQuery选择这个元素
- Angularjs通过ng-click函数访问这个元素
- 我如何用javascript选择这个元素
- 如何在javascript中获得这个元素的innerHTML
- 为什么我不能将这个元素引用设置为一个变量?
- 如何使用CSS @media查询使这个元素响应
- 为什么不更新这个元素的宽度?JQuery
- 有没有一种更优雅的方法将 css 应用于“除了这个元素之外的所有元素”
- 为什么我的JavaScript不能创建这个元素?
- 为什么我不能点击这个元素?
- get "Cannot set property 'src'null"但是这个元素是