Javascript ';这';-如何正确使用它?

Javascript ';这';-如何正确使用它?,javascript,Javascript,我在搜索一个经典新手话题的多个答案: 如何通过单击html页面中的“某物”来使用javascript更改“任何东西” 我找到的大多数答案都与以下两个答案有关: 在触发元素中使用onclick,然后触发函数 使用类似getElementbyID的东西,然后触发函数 或者直接输入代码 这些解决方案在演示中非常有效,但在任何进一步的步骤中,它们都不再帮助我。例如,如果我有多个元素,我想在其中切换类名 <ul id="the_target"> <li>xyz></

我在搜索一个经典新手话题的多个答案: 如何通过单击html页面中的“某物”来使用javascript更改“任何东西”

我找到的大多数答案都与以下两个答案有关:

  • 在触发元素中使用onclick,然后触发函数
  • 使用类似getElementbyID的东西,然后触发函数 或者直接输入代码
这些解决方案在演示中非常有效,但在任何进一步的步骤中,它们都不再帮助我。例如,如果我有多个元素,我想在其中切换类名

<ul id="the_target">
<li>xyz></li>
<li>abc</li>
....
但是,如果目标和触发器是相同的,并且不能用ID名称识别,那么我会怎么做?就像在那个场景中,ul#u触发器中的任何li元素一样。 我知道我可以在某种程度上使用“this”,但在给定的场景中,我应该如何使用它而不是

document.getElementById("the_target") 


这应该突出区别。请注意,如果在容器内部而不是按钮中单击,则event.target与我们将侦听器附加到的div相同(因此innerText返回ABCD)

请注意,有些事件会在DOM中“冒泡”。如果发生这种情况,则可以使用
event.currentTarget
访问事件的当前目标

document.getElementById('container').addEventListener('click',函数(事件){
log('在“container”上或“container”中的某处发生了单击');
var the_clicked_target=event.target;//单击的对象
var the_listing_element=this;//我们将侦听器附加到的div
log('I am button:'+event.target.innerText);
log(侦听元素);
});

A.
B
C
D

这在删除的事件中经常出现。我发现最好的思考方法是目标是事件发生的对象,触发器是监听该事件的对象。假设我在监听整个文档上的点击,这就是触发器。我在html中的某个地方单击一个按钮,这就是目标(
event.target
),通常是您想要的是切换类的错误方式,这会将相同的类添加到单个元素中。要切换类,请使用
.classList.add('newClass')
.classList.remove('newClass')
@sameerkan抱歉,您是对的。我只是复制粘贴了一些现有的东西。但问题是另外一个:“……如果目标和触发器是相同的,并且不能用ID名称识别,那么我会怎么做?”@Gavin你能在一个例子中解释一下吗?整个触发器/目标概念对我来说似乎很清楚,但我不知道如何真正将其用于“现实世界”中-like@SameerKhan切换(“类”)甚至更好
document.getElementById("the_target") 
document.getElementById("the_trigger")