Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Reddit、greasemonkey脚本中获取评论分数_Javascript_Jquery_Reddit - Fatal编程技术网

Javascript 从Reddit、greasemonkey脚本中获取评论分数

Javascript 从Reddit、greasemonkey脚本中获取评论分数,javascript,jquery,reddit,Javascript,Jquery,Reddit,我想写一个greasemonkey脚本,我需要从每个评论中提取分数,这样我可以在之后添加我自己的风格。以下是我现在拥有的: reddit源代码如下所示,每个注释都会显示此代码 <p class="tagline"> <span class="score unvoted">16 points</span> 到目前为止,我正在尝试编写的javascript如下 var i, tags = document.querySelectorAll('.tagli

我想写一个greasemonkey脚本,我需要从每个评论中提取分数,这样我可以在之后添加我自己的风格。以下是我现在拥有的:

reddit源代码如下所示,每个注释都会显示此代码

<p class="tagline">
    <span class="score unvoted">16 points</span>
到目前为止,我正在尝试编写的javascript如下

var i, tags = document.querySelectorAll('.tagline');
for(i=0;i<tags.length;i++) {

    var pullVotes = document.getElementsByClassName('.score'); //gets an Object HTMLCollection
    var collectionPull = Array.prototype.slice.call(pullVotes); //My attempt to convert the HTMLCollection to an array
    var userVote = collectionPull[0];

    tags[i].innerHTML += "<span> ("+userVote+")</span>";
}
我没有定义。我也知道我可以使用reddit json,但我找不到从所有评论中获取分数的方法,只是从我设置的静态评论中获取分数


任何帮助都将不胜感激,谢谢

首先,出了什么问题:

var pullVotes = document.getElementsByClassName('.score'); //gets an Object HTMLCollection
是的,它确实返回一个HTMLCollection对象,但是您的行查找名为.score的类,而不是类score,因此此行返回一个空集合

var collectionPull = Array.prototype.slice.call(pullVotes); //My attempt to convert the HTMLCollection to an array
我不确定您在这里想要实现什么,因为HTMLCollection确实有itemn方法,它返回。。。是,索引n处的项目,如

好的,现在即使第一行成功了,这也会始终将集合的第一个元素分配给userVote,这意味着下面一行

tags[i].innerHTML += "<span> ("+userVote+")</span>";

I get undefined-什么是undefined?请编辑您的问题以包含源数据相关部分的示例,以及为什么要将HTML集合转换为数组?也许这对你有帮助
tags[i].innerHTML += "<span> ("+userVote+")</span>";
var i, tags = document.querySelectorAll('.tagline');
for(i=0;i<tags.length;i++) {
    // get all elements with class 'score' that are inside the tagline
    var userVote = tags[i].getElementsByClassName('score').item(0);

    // do something with this element
    userVote.style="background-color: red";
}
var $ = unsafeWindow.jQuery;
$('.tagline .score').css('background-color', 'red');