2013-07-13 36 views
0

我期待获得youtube视频页面的相关视频的标题元素。Javascript bookmarklet getElementById - 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 px增加到19 px。

我无法使用getElementById获取标题元素。在记录到控制台时,错误是get TypeError:document.getElementById(...)为null。我甚至可以得到这个元素id,'list-video-item'

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

代码放在书签上,打开和关闭Youtube的新实验。

你可以阅读关于这个小实验here

回答

1

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

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

感谢那些与空错误帮助。 – Eshwar

+0

它是elementsByClassName,你忘了代码中的's'。 – Eshwar

+0

是的,我已经更新了答案 –