您好我需要比较两个字符串值,如果有任何数学我想输出它们的值。我收到了这段代码。
这会给我$values2
和$hrefs2
的结果:
671673676
672,671,670,673,676,675,667,666,674
我想检查$hrefs2
值的任何一个值是否等于$values2
之后我想改变这些类的颜色背景document.getElementsByClassName("golden");
感谢您的帮助
// divide string to 3 letters and comma, 3 letters and comm...
function formatNumber (num) {
return num.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,")
}
// output values from golden classes
var elements = document.getElementsByClassName("golden");
var values = '';
for(var i=0; i<elements.length; i++) {
values += elements[i].innerText;
}
var values2 = formatNumber(values);
document.write(values2); // output
document.write('<br>');
// output values from hrefo classes
var elements = document.getElementsByClassName("hrefo");
var hrefs = '';
for(var i=0; i<elements.length; i++) {
hrefs += elements[i].href.slice(-3);
}
var hrefs2 = formatNumber(hrefs);
document.write(hrefs2); //output
&#13;
答案 0 :(得分:0)
您可以这样做以查看hrefs2是否包含来自values2的任何数字:
var values2 = '671,673,676';
var values = values2.split(",");
var hrefs2 = '672,671,670,673,676,675,667,666,674';
var hrefs = hrefs2.split(",");
for( var i = 0; i < values.length; i++){
if( hrefs2.indexOf(values[i] ) > -1 ){
console.log( 'hrefs2 contains number ' + (values[i]) );
}
}
我不确定你的意思&#34;之后我想改变这些classe的颜色背景&#34;?您想从数字创建RGB背景值吗?
答案 1 :(得分:0)
多数人非常感谢你!我很抱歉没有说清楚背景颜色。所以我有你的脚本。
// output of equals values from two strings
for( var i = 0; i < values3.length; i++){
if( hrefs2.indexOf(values3[i] ) > -1 ){
console.log( 'hrefs3 contains number ' + (values3[i]) );
document.write('<br>');
document.write(values3[i]); // output 671 673 676
}
}
在网站代码中我有像
这样的行<tr><td>
<a class="hrefo" href="?page=view&id=671">Server1</a>
<a class="hrefo" href="?page=view&id=686">Server2</a>
...
</tr></td>
如果值3 [i]的值等于例如id = 671,那么我想要做出背景颜色为红色,其中位于id = 671
像这样http://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_sel_contains
或实现这一目标的另一种方法是:如果href包含多个值3 [i],则给类具有背景颜色:红色;两个标记,这意味着a-&gt; td&gt; tr,整行将是红色,如enter link description here