javascript - 在 .querySelector 中引用它

标签 javascript jquery jquery-selectors

如果我使用以下命令来选择某个节点

var Link = document.querySelector('table .ctrlcLink');

我获得了类 ctrlLink 列的第一列值,这正是我所期望的。

但是,由于我将 onclick 事件设置为同一个表中的其他列,因此我想获取与单击的元素位于同一行的 .ctrlLink 列的值。 所以我尝试了这样的事情:

var Link = document.querySelector($(this).closest('tr').children('td.ctrlcLink'));  

但后来我明白

"Failed to execute 'querySelector' on 'Document': '[object Object]' is not a valid selector."

那么我应该使用什么选择器?

编辑: 也许我应该补充说我需要它,以便之后可以使用以下内容:

var range = document.createRange();  
range.selectNode(Link);  
window.getSelection().addRange(range);
var successful = document.execCommand('copy');

编辑2: 按照建议,我为此创建了一个 codepen 页面(谢谢!)。: http://codepen.io/whatwhat/pen/JXJjOp 我想要得到的是,当我单击表中的图像时,我会获取它旁边的单元格中同一行的文本并将其放入我的 ctrl-c 中。 但是,我无法获取我单击的图像的确切行号。 这部分不起作用:

var rowIndex = $(this).index();

什么可行,我怎样才能获得行号。? 然后我会将其连接起来改变

var Link = document.querySelector('#docReport tr:nth-child(1) .ctrlcLink');

var Link = document.querySelector('#docReport tr:nth-child('+rowIndex+') .ctrlcLink'); 

或者我可以通过其他方式解决这个问题吗?

编辑3: 我最终得到了我需要的东西,如下所示: http://codepen.io/whatwhat/pen/GZEgKK

最佳答案

您应该使用 Jquery 事件,而不是“onclick”。

http://codepen.io/nigayo/pen/oxwYwz?editors=1010

$("#docReport img.smiley-img").on("click", function(){

  var Link = $(this).parent().prev()[0];
  var range = document.createRange();
  //blah...blah..
});

关于javascript - 在 .querySelector 中引用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36182048/

相关文章:

javascript - 在 Codeigniter googlemap v3 库上显示热图

jquery - 如何确定 Jquery 中另一个元素触发的单选框的状态?

javascript - jQuery 选择按钮旁边的隐藏输入值

javascript - 如何使用 JQuery 选择容器元素内的第一个 div 元素?

Javascript 函数数组失去了 This 范围

javascript - 正则表达式将数字与可能的字母匹配

javascript - Intern JS CSS Selector 使用变量

javascript - 如何对滚动 Accordion div 进行操作

Jquery 自动递增以追加 ("")

javascript - 使用 JavaScript 从 URL 检查 YouTube 上的视频是否可用