Javascript bookmarklet getElementById - Youtube视频页面,相关视频标题

时间:2013-07-13 05:02:45

标签: javascript bookmarklet

我希望获得youtube视频页面的相关视频标题元素。

这是我正在使用的javascript,由于某种原因我无法让它工作。这是代码,

var span = document.getElementById('title').style;
if(span.font-size=='13')    {
document.cookie="VISITOR_INFO1_LIVE=-fntp2HbKFI;%20path=/;%20domain=.youtube.com"; 
window.location.reload();
}
else{
document.cookie="VISITOR_INFO1_LIVE=;%20path=/;%20domain=.youtube.com";
window.location.reload();
}

上面的代码在视频页面上打开Youtube实验,在再次执行时关闭。

实验在视频页面上,它会增加相关视频标题的字体大小。它会在cookie值(VISITOR_INFO1_LIVE)设置为某个值的情况下打开,然后重新加载页面。现在,相关视频标题的字体大小从13像素增加到19像素。

我无法使用getElementById获取该title元素。记录到控制台时,错误是get是TypeError:document.getElementById(...)为null。我甚至为元素ID'list-video-item'

得到了这个

然后再执行代码,它会检查标题的字体大小是19 px。代码现在删除cookie值并再次重新加载页面,将字体大小设置为13 px。

代码进入书签,切换打开和关闭Youtube的新实验。

您可以阅读这个小型实验here

1 个答案:

答案 0 :(得分:1)

title是一个不是id的类,使用getElementsByClassName来获取类的所有元素的数组

var spans = document.getElementsByClassName('title');
if(spans.length){
    var spanStyle = spans[0].style;
    if(spanStyle.fontSize=='13')
    ...
    else
    ...
}