点击使用JavaScript制作div的按钮?

won*_*ng2 7 javascript javascript-events google-plus

在Google+中,用于发表评论的按钮来自div:

<div role="button" id=":1vq.post" class="d-s-r tk3N6e-e tk3N6e-e-qc" aria-disabled="false" style="-webkit-user-select: none; " tabindex="0">Post comment</div>  
Run Code Online (Sandbox Code Playgroud)

我想我可以点击它:

document.getElementById(":1vq.post").click();  
Run Code Online (Sandbox Code Playgroud)

但它说该元素没有属性click.我发现它onclick是空的.那我怎么能用JavaScript点击按钮呢?

jfr*_*d00 4

编辑:在与提出这个问题的wong2聊天并且对这个问题的真正含义进行了很多失败的猜测之后(这个问题写得很糟糕),他们试图做的是编写一个Greasemonkey用户脚本来制作回车键按 Google+ 信息流中的“发表评论”按钮。由于我还没有收到 Google+ 的邀请,我什至看不到相关代码,所以我无能为力。这个问题并不是要在您自己的网站中放置与 Google+ 相关的任何内容,而是要尝试使用 Greasemonkey 来修改 Google 网站在您自己的浏览器中的行为。

早期尝试提供帮助:

id=":1vq.post" 不是合法的 CSS id 名称。您不能在选择器名称中使用“:”字符。这会导致多个问题,因为它不仅不是合法字符,而且在 CSS 选择器语法中也是有意义的字符。所以,我发现你有两个问题。

首先,您的选择器逻辑不起作用。其次,正如其他人所说,您不能仅使用纯 JavaScript(例如没有框架)以这种方式分配单击。

如果您更改选择器逻辑以使其正常工作,则可以使其正常工作(使用 jQuery),如下所示:

<div role="button" id="aPost" class="d-s-r tk3N6e-e tk3N6e-e-qc" aria-disabled="false" style="-webkit-user-select: none; " tabindex="0">Post comment</div>

$("#aPost").click(function() {
    alert("I was clicked.");
});
Run Code Online (Sandbox Code Playgroud)

而且,您可以在 jsFiddle 中看到它的实际效果:http://jsfiddle.net/jfriend00/Yfnc7/。单击“运行”,然后单击“发表评论”。