如何将特定的Javascript行写入Jquery语法?

如何将特定的Javascript行写入Jquery语法?,javascript,jquery,navigation,hyperlink,Javascript,Jquery,Navigation,Hyperlink,我试图编写一个skp nav链接脚本,但是我不想获取id,而是想获取类。如何用jquery语法编写以下脚本来获取类名 $(document).ready(function() { $(".ajax-video").click(function(event) { event.preventDefault(); document.getElementById("currently-playing-title").scrollIntoView(); })

我试图编写一个skp nav链接脚本,但是我不想获取id,而是想获取类。如何用jquery语法编写以下脚本来获取类名

$(document).ready(function() {
    $(".ajax-video").click(function(event) {
        event.preventDefault();
        document.getElementById("currently-playing-title").scrollIntoView();
    });
});
此外,由于某些原因,以下操作不起作用:

$('.videoplayer').scrollIntoView();
试一试

$('.videoplayer')
一个jQuery集合,因此您只能在其上运行jQuery函数<代码>[0]访问该集合中的第一个DOM元素

请注意,如果在
videoplayer
类中有多个元素,则可能会在此处得到意外的结果。老实说,最好使用元素ID

如果您有多个
.videoplayer
,但一次只能看到一个元素(选项卡等),您也可以尝试:

$('.videoplayer:visible')[0].scrollIntoView()

下面显示了如何通过标识符获取class属性:

var className = $('#currently-playing-title').attr('class');
$('.' + className).scrollIntoView();

很抱歉,我无法对cWalves的答案发表评论,但是jQuery.get()是获取DOM引用的首选用法

$('.videoplayer').get(0).scrollIntoView();

使用[0]也可以,但是使用.get()会使代码看起来更干净,只是稍微干净一点。

实际上,这就是
.get(0)
.get()
将整个匹配集作为数组返回。撇开美学不谈,
[0]
.get(0)
完全相同(这实际上是
.get(0)
在内部所做的),没有“首选”方法可以做到这一点。从技术上讲,
[0]
更快,因为没有函数调用。真的,真的。主要是从美学的角度来看,我在编写jQuery代码时尽量避免使用直接DOM引用,因此我更喜欢get()。。。撇开美学不谈。。。您需要提供到达实际DOM元素的编号。啊!我被纠正了。谢谢,罗伯:)我应该在打电话之前在JSFIDLE中测试更多这方面的东西如果您想要动画滚动到视图中(仅当元素不在视图中时),您也可以使用
.scrolintoview()
(注意小写)。当滚动设置动画时,它会将特定元素滚动到视图中,这样用户就不会失去对其在页面上位置的跟踪(不会跳到用户所看到的任意位置)。
$('.videoplayer').get(0).scrollIntoView();