Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.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 写我的第一个油猴剧本。如何让innerHTML使用';包含';?_Javascript_Greasemonkey_Reddit - Fatal编程技术网

Javascript 写我的第一个油猴剧本。如何让innerHTML使用';包含';?

Javascript 写我的第一个油猴剧本。如何让innerHTML使用';包含';?,javascript,greasemonkey,reddit,Javascript,Greasemonkey,Reddit,我基于另一个脚本,虽然我对javascript有点熟悉,但我仍在学习 // ==UserScript== // @name click all "load more" prompts // @namespace none // @include http://www.reddit.com/* // ==/UserScript== setTimeout('var deleted = 0;var links = document.getElementsB

我基于另一个脚本,虽然我对javascript有点熟悉,但我仍在学习

// ==UserScript==
// @name           click all "load more" prompts
// @namespace      none
// @include        http://www.reddit.com/*
// ==/UserScript==

setTimeout('var deleted = 0;var links = document.getElementsByTagName("a");var i = 0;var d = 0;for (i = 0; i < links.length; i++) {var l = links[i];if (l.href) {if (l.innerHTML == "load more comments") {toggle(l);   d = 1;  } } } , 4000);
/==UserScript==
//@name单击所有“加载更多”提示
//@namespace无
//@包括http://www.reddit.com/*
//==/UserScript==
setTimeout('var deleted=0;var links=document.getElementsByTagName(“a”);var i=0;var d=0;for(i=0;i
现在,问题似乎是innerHTM中没有一个只说“加载更多注释”

相反,它会说“加载更多评论(x回复)”,其中x可以是任意数字

有没有一种简单的方法来检查innerHTML是否包含术语“加载更多注释”,而不是检查是否完全等效

这是一个带有“加载更多评论”链接的页面,我指的是:

编辑:

这是更新后的脚本。但似乎没有运行,有什么建议吗

links = document.getElementsByTagName("a");
var i = 0;
for (i = 0; i < links.length; i++){
    var l = links[i];
    if (l.href){
        if (l.innerHTML.indexOf("load more comments") > -1) {
            toggle(l);
        }
    }
}
links=document.getElementsByTagName(“a”);
var i=0;
对于(i=0;i-1){
切换(l);
}
}
}

因为这是JavaScript,而innerHTML是字符串,所以可以使用JS字符串方法来实现。传统的方法是
indexOf

if(l.innerHTML.indexOf("load more comments") > -1){
   // substring found
}
不太传统地,您可以使用正则表达式或其他方法

我建议阅读Mozilla的详细信息

编辑:看起来不错。然而,我也建议你不要用你现在的方式去做你正在做的事情。在JavaScript中做任何事情而不使用JS库(例如)都是非常痛苦的,即使它很简单

setTimeout(function(){
    $('a').each(function(i){
        if(this.href && this.innerHTML.indexOf('load more comments') > -1){
            toggle(this);
        }
    });
}, 4000);

学习jQuery,你以后会感谢你自己。

我用更新的代码编辑了原始问题——这看起来怎么样?