Javascript 如何使用:after元素清除输入

Javascript 如何使用:after元素清除输入,javascript,html,Javascript,Html,看一看。有2个搜索栏,每个搜索栏后面都有一个:after元素。单击该元素时,文本框将被清除。如何使用Javascript实现这一点?(没有jquery) 。但是在这里,元素除了伪元素之外没有其他内容,所以您可以将事件侦听器添加到元素中 var input=document.getElementById('input'); document.getElementById('clear').addEventListener('click',function(){ input.value=''; }

看一看。有2个搜索栏,每个搜索栏后面都有一个
:after
元素。单击该元素时,文本框将被清除。如何使用Javascript实现这一点?(没有jquery)

。但是在这里,元素除了伪元素之外没有其他内容,所以您可以将事件侦听器添加到元素中

var input=document.getElementById('input');
document.getElementById('clear').addEventListener('click',function(){
input.value='';
});
#清除::之后{
内容:'\00d7';
光标:指针;
}

。但是在这里,元素除了伪元素之外没有其他内容,所以您可以将事件侦听器添加到元素中

var input=document.getElementById('input');
document.getElementById('clear').addEventListener('click',function(){
input.value='';
});
#清除::之后{
内容:'\00d7';
光标:指针;
}

单击事件实际上不在:after伪元素上,而是在span本身上(如您所见),伪元素只提供图标,这里没有什么奇怪的事情。那么,这只是做这样的事情的问题

element.addEventListener('click', function() {
  document.getElementById('startInput').value = '';
}, false);

click事件实际上不是在:after伪元素上,而是在span本身上(如您所见),伪元素只是提供了图标,这里没有发生什么奇怪的事情。那么,这只是做这样的事情的问题

element.addEventListener('click', function() {
  document.getElementById('startInput').value = '';
}, false);

我觉得没什么特别的。 大概是这样的:

var elementList = document.getElementsByClassName('something');
for (var i = 0; i < elementList.length; i++) {
   elementList[i].addEventListener("click", delFn);
}


function delFn(){
console.log("delete it");
}
var elementList=document.getElementsByClassName('something');
for(var i=0;i

我觉得这没什么特别的。 大概是这样的:

var elementList = document.getElementsByClassName('something');
for (var i = 0; i < elementList.length; i++) {
   elementList[i].addEventListener("click", delFn);
}


function delFn(){
console.log("delete it");
}
var elementList=document.getElementsByClassName('something');
for(var i=0;i

你试过什么吗?比如@Oriol和@Nick说。
事件侦听器
位于
元素
上。伪元素是当前元素的一部分。它不是插入在元素之后,而是插入在其内容之后,在当前元素的范围内,并且可以使用margin。。。看起来像是在外面你试过什么吗?像“奥利奥和”尼克说的。
事件侦听器
位于
元素
上。伪元素是当前元素的一部分。它不是插入在元素之后,而是插入在其内容之后,在当前元素的范围内,并且可以使用margin。。。看起来像是在外面