我正在尝试使用JavaScript来获取被点击元素的信息。
这里是jsFiddle。
下面是我的代码。
python manage.py migrate --list
let div = document.querySelector('div')
div.addEventListener('click', function(event) {
// how to get the clicked p tag here?
// this?
// event.target.currentTarget?
})
如何使用<div>
<p>text 1</p>
<p>text 2</p>
</div>
获取元素的信息?
答案:this
谢谢Juan Mendes
答案 0 :(得分:1)
正如我在评论event.target
中所写的那样。但是,如果您真的只想要p标签,则应该小心。如果在包装div中使用a标签或其他子元素,则可能还会收到其他标签。
我建议实际上将事件侦听器直接添加到p标签中。
答案 1 :(得分:1)
欢迎使用StackOverflow!
e.target
应该为您提供了用于生成事件的确切元素。
e.currentTarget
将为您提供元素
该事件是在函数
被叫(从e.target
起泡之后)
div.addEventListener('click', (e) => {
console.log(e.target) // the p that was clicked
console.log(e.currentTarget) // this div
})
答案 2 :(得分:0)
最好将事件侦听器附加到每个var pathString = './test/JFwZCrdEojAr09ajT8EPZmo.jpg';
const buffer = fs.readFileSync(pathString,{ encoding: 'utf8' });
元素上,以防在p
元素本身中嵌套其他子元素。
p
答案 3 :(得分:0)
如果您使用event.target
,则应该获得单击的特定p
标签。
但是,如果您确实要使用this
,则最好将onclick事件处理程序附加到p标签而不是父标签。
就这样。
let ps = document.getElementsByTagName('p')
for (var i = 0; i < ps.length; ++i){
ps[i].addEventListener('click', function(event){
// how to get the clicked p tag here?
alert(this.innerText) //or whatever action you want to do with `this`
})
}