如何使用“;这个“;在javascript中?这样做的目的是什么
how to use the "this " in javascript?what is the purpose of this
我浏览了很多网站,但学习速度很慢,我无法理解this
的正确含义。请澄清我的疑问。。
<input type='checkbox' name="checkbox[]" onclick="whole_delete(this)" id="checkbox[$id]" value="<?php echo $store['id'];?>"/>
function whole_delete(source) {
checkboxes = document.getElementsByName("checkbox[]");
for(var i=0, n=checkboxes.length;i<n;i++) {
checkboxes[i].checked = source.checked;
}
}
这里的onclick="whole_delete(this)
可以作为whole_delete
中的源进行更改
我很困惑。我不知道来源的价值和来源的含义;请确认我的问题并澄清我的怀疑。是的,我知道我的问题很愚蠢,但请澄清。
让我们以这个列表为例:
<label>Album 1. Delete all? <input type="checkbox" onclick="whole_delete(this)"></label>
<ul>
<li>Photo 1. Delete? <input type="checkbox"></li>
<li>Photo 2. Delete? <input type="checkbox"></li>
<li>Photo 3. Delete? <input type="checkbox"></li>
<li>Photo 4. Delete? <input type="checkbox"></li>
</ul>
那么,这意味着什么呢?您正在向用户展示一个相册,其中包含照片列表。用户可以检查每个照片名称旁边的输入,以将其标记为删除。由于您不想在删除相簿中的所有照片时强制用户手动检查每张照片,因此您决定添加一个主复选框(相簿旁边的复选框)。当用户单击该复选框时,您的javascript应标记所有照片的"删除"复选框(或取消标记)。
你是怎么做到的?此:
onclick="whole_delete(this)
在这种情况下,this
是对您刚刚单击的复选框的引用。您正在将HTMLElement作为参数传递给javascript函数whole_delete
。.checked
是指示是否选中复选框的属性。
因此,当调用该函数时,它将查找页面中的所有复选框,并使其与您刚刚单击的"相簿"复选框相同。如果选中,所有照片都将被选中。如果取消选中,则所有照片都将取消选中。
this
引用代码执行的当前上下文。在您的复选框示例中,this
引用复选框,因此当您将this
传递给whole_delete函数时,它所来自的特定复选框将被传递并命名为source
。然后,下面的代码将检查是否选中了该特定复选框。
如果您有一个打开了20个复选框的页面,它们都可以使用onclick="whole_delete(this)"
,而this
将始终将引用传递给事件来自的特定复选框。
this
构造是对当前对象上下文的引用。它实际指向的内容在程序执行过程中随着程序上下文的变化而变化。
在您的案例中,它是对JavaScript对象的引用,表示单击的特定复选框。当然,如果您稍后单击不同的复选框,由于上下文发生了更改,它将更改为指向该对象。
则CCD_ 14是表示复选框&选中了一个属性,该属性的值为true或false,具体取决于是否选中该复选框。
有关DOMELEMMTS的更多信息,请参阅https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
- 在init function()中调用getElementById(“..”),而不是想用它做点什么的函数
- 如果我不这样做会发生什么;t在javascript中的变量中分配新的Image
- 如何使用“;这个“;在javascript中?这样做的目的是什么
- 如果我不这样做会发生什么;t有页码吗?继续循环帖子..为什么需要分页,对于页脚
- 当我单击标记而不是删除它时,我应该做些什么来创建自定义菜单
- 是我提供的代码实际上与AJAX调用I'I’我想对Servlet做点什么
- 正确的选择器字符串是什么,可以在像这样结构的 HTML 中获取我想要的特定元素
- 这些 Node.js 和 JavaScript 框架是什么,它们做什么
- 在angularjs中拥有$sce或严格上下文转义有什么好处,为什么反应不需要这样做
- 这个混淆的javascript片段是什么意思/做什么
- 在 Aurelia(奥雷利亚)中在全球范围内提供像 lodash 这样的库的最佳实践是什么?
- Array.prototype.some() 是否返回文字?如果是这样,这段代码是什么意思
- 是否可以使用非鼠标、非触摸事件与 D3.js 图形进行交互?如果是这样,最有效的方法是什么
- 埃瓦尔做了什么,为什么它是邪恶的
- 将Ember.js与Fabric.js这样的画布库集成在一起的正确方法是什么
- 此代码中的 IEventRepository 是什么?Resolver.resolve( ) 是做什么的
- 如果我不这样做,服务器有什么好的技巧来处理更多的请求吗;不必发回任何数据
- 什么是最有效的方式来存储数组从PHP到JS/jQuery,这样它是可重用的
- 在我的网站上做投票功能的最好方法是什么?(现在使用innerhtml
- 这样做的目的是什么?Var HTTP = require(' HTTP ')