首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用javascript模拟div上的单击?

如何用javascript模拟div上的单击?
EN

Stack Overflow用户
提问于 2015-01-04 22:59:06
回答 4查看 15.3K关注 0票数 1

我正在寻找一种方法,能够操纵一个快捷的youtube控制按钮。我希望能够点击左右箭头来激活播放列表上的“前一个视频”和“下一个视频”。我过去很容易自己做,但他们做了一些改变,因为这些我不能完全复制我以前的工作。

我使用Google Chrome 肖特基插件来管理我的短键。我只在"https://www.youtube.com*“上使用正确的键执行javascript代码

问题存在于要执行的脚本中。我以前只是做一个document.getElementById,但是现在他们使用类而不是id,我无法让它工作。他们的按钮是div的,它们是这样的:

代码语言:javascript
运行
复制
<div class="ytp-button ytp-button-prev" role="button" aria-label="Previous" tabindex="6050" style="display: inline-block;">
</div>
<div class="ytp-button ytp-button-next" role="button" aria-label="Next" tabindex="6051" style="display: inline-block;">

我的代码实际上来自另一个堆栈过流问题

尽管如此,如果我把所有这些都放在一起来制作折页代码,它就不起作用了。

代码语言:javascript
运行
复制
simulate(document.getElementsByClassName("ytp-button ytp-button-prev"), "click");
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-01-04 23:00:13

getElementsByClassName返回一个数组,因为您可以有多个具有相同类名的元素。你可以通过document.getElementsByClassName("ytp-button ytp-button-prev")[index]来挑选它们

票数 1
EN

Stack Overflow用户

发布于 2015-01-04 23:12:39

如果使用的是jQuery,则可以将元素作为目标,然后触发如下所示的单击事件:

代码语言:javascript
运行
复制
$( ".ytp-button-prev" ).trigger( "click" );
票数 1
EN

Stack Overflow用户

发布于 2015-01-05 00:00:09

jQuery不是我们所有项目的最佳解决方案,但对于模拟事件来说,这是不错的选择

代码语言:javascript
运行
复制
(function($){
    $('.element').click();
    // same for others ex: $('.element').keyup();
})(jQuery);

示例:http://jsfiddle.net/h0po3q3w/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27771298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档