如何获取通过点击网页上的其他元素生成的DOM的文本内容?

时间:2015-09-26 16:35:09

标签: javascript jquery html google-chrome-extension

我有一个非常具体的网站,其中网页上的文字是可点击的,点击后会生成一个新的DOM元素。

我正在尝试创建一个chrome扩展程序,当用户点击一个网页时,click会触发一个函数,该函数返回由它的id生成的元素。

现在这就是我所拥有的

<script>
  document.onclick = function(myFunction)

  function myFunction() {
    var x = document.getElementsById("v0")
    return x 
  }
</script>

加载扩展程序时,我无法在控制台上看到任何内容。

是document.onclick正确的方法使用?我应该使用getElementByClassName还是getElementById?

2 个答案:

答案 0 :(得分:0)

frequency[2] = (frequency[2] || 0) + 1 frequency[2] = (1 || 0) + 1 frequency[2] = (1) + 1 frequency[2] = 2 是一个错误。您正在尝试调用名为 function 的函数并将其返回值分配给document.onclick = function(myFunction) - 但 function 是一个关键字,不能是函数名。< / p>

要将document.onclick指定为onclick处理程序,只需指定该函数:

myFunction

虽然这对你不太好:document.onclick = myFunction; 通过其id获取一个元素并返回它,但click事件处理程序的返回值不用于任何事情(除了防止默认行为)点击)。

您需要重写myFunction,以便它对元素做了一些有用的事情。

答案 1 :(得分:0)

你走在正确的轨道上。您希望将单击操作绑定到文档。点击发生后,您希望捕获事件的目标。

使用jQuery:

myFunction

Pure JS:

$(document).click(function(event) {
    var target = $(event.target);
});

从那里,你可以用它做任何你想做的事。例如:

document.addEventListener("click", function(event) {
    event = event || window.event;
    var target = event.target || event.srcElement;
}, false);