目标:我有一串代码要比较两个参数。如果其中一个参数未包含在另一个参数中,我需要执行一个脚本。
好东西:隐藏所有内容的脚本(在下面的代码中,“if(a> 0);”之后的所有内容)完美无缺。
问题:当我添加indexOf函数以尝试进行比较时,我收到一条错误说:Uncaught TypeError:str.indexOf不是函数
我尝试过:我最初尝试过str.includes函数,但通过研究发现所有浏览器都不支持该函数,并且被指示尝试执行indexOf函数。我在网上找到的所有东西似乎都说indexOf函数应该有用吗?
我的代码是:
<script language="javascript" type="text/javascript">
var str = [@authfield:Authentications_2_Region];
var a = str.indexOf([@field:Location_2_Region_GL]);
if(a > 0);
function hide_column(column_order)
{
var tbl = document.getElementsByTagName("table")[0];
var table_header = tbl.getElementsByTagName('th')[column_order];
table_header.style.display=stl;
var rows = tbl.getElementsByTagName('tr');
for (var row=1; row<rows.length;row++)
{
var cels = rows[row].getElementsByTagName('td');
cels[column_order].style.display=stl;
}
}
var stl='none';
hide_column(0);
hide_column(1);
hide_column(2);
hide_column(3);
hide_column(4);
hide_column(5);
hide_column(6);
</script>
我对Javascript不满意,感谢任何帮助。
答案 0 :(得分:0)
谢谢你@Satya--他让我朝着正确的方向前进。我需要将参数转换为字符串。成功的代码是
<script language="javascript" type="text/javascript">
var str = toString([@authfield:Authentications_2_Region]);
var a = str.indexOf(toString([@field:Location_2_Region_GL]));
if(a > 0);
function hide_column(column_order)
{
var tbl = document.getElementsByTagName("table")[0];
var table_header = tbl.getElementsByTagName('th')[column_order];
table_header.style.display=stl;
var rows = tbl.getElementsByTagName('tr');
for (var row=1; row<rows.length;row++)
{
var cels = rows[row].getElementsByTagName('td');
cels[column_order].style.display=stl;
}
}
var stl='none';
hide_column(0);
hide_column(1);
hide_column(2);
hide_column(3);
hide_column(4);
hide_column(5);
hide_column(6);
</script>