【问题标题】:nth child click in javascript to open new web page第 n 个孩子点击 javascript 打开新网页
【发布时间】:2020-06-28 18:12:47
【问题描述】:

我需要一个可以在第一次点击表格元素时打开新页面的代码。

到目前为止,我设法完成了这项工作:

<script>
var url = 'https://www.google.com/';
var element = document.getElementsByClassName('xl9624916')[1]; 
element.addEventListener('click',function(){
    location.href = url;
}); 
</script>

但这对我来说不是最佳解决方案,因为此页面是从 excel 发布的,并且元素名称在每次重新发布事件时都会更改。 因此,点击时需要特定的表子。

请帮助我理解下面的代码有什么问题?

<script>
var url = 'https://www.google.com/';
var element = document.querySelectorAll("table tr:nth-child(1) td:nth-child(1)");
element.addEventListener('click',function(){
location.href = url;
}); 
</script>

【问题讨论】:

  • document.querySelectorAll 将为您提供与选择器匹配的所有元素的列表。所以,你不能直接在上面添加监听器。

标签: javascript html html-table css-selectors tr


【解决方案1】:
Insted of using the querySelectorAll use querySelector
https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll
https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector


var url = 'https://www.google.com/';
var element = document.querySelector("table tr:nth-child(1) td:nth-child(1)");
element.addEventListener('click',function(){
location.href = url;
});

【讨论】:

  • @RemigijusDzingelevicius 感谢您接受答案
猜你喜欢
  • 1970-01-01
  • 2017-03-11
  • 1970-01-01
  • 2012-07-22
  • 2016-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多