Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.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 对一对变量进行迭代/循环,这些变量是Wordpress中带有条件的ID_Javascript_Html_Wordpress_For Loop - Fatal编程技术网

Javascript 对一对变量进行迭代/循环,这些变量是Wordpress中带有条件的ID

Javascript 对一对变量进行迭代/循环,这些变量是Wordpress中带有条件的ID,javascript,html,wordpress,for-loop,Javascript,Html,Wordpress,For Loop,我有一个Wordpress网站,上面有一页帖子。对于每一篇文章,我都想运行javascript。我基本上希望在output div中插入HTML,有条件地为每个div插入HTML。我做错了什么 var labels=document.queryselectoral(“#uniteLabel”), unitOutputs=document.querySelectorAll(“UnitOutput”); 对于(var i=0,i

我有一个Wordpress网站,上面有一页帖子。对于每一篇文章,我都想运行javascript。我基本上希望在output div中插入HTML,有条件地为每个div插入HTML。我做错了什么


var labels=document.queryselectoral(“#uniteLabel”),
unitOutputs=document.querySelectorAll(“UnitOutput”);
对于(var i=0,i

恩特拉弗斯
生产单位
整体
回答: 用分号替换for循环声明中的逗号

i、 e.以下内容:

for (var i=0, i < labels.length, i++) { 
for(var i=0,i
应该是:

for (var i=0; i < labels.length; i++) { 
for(var i=0;i
更多信息:逗号运算符通常出现在缩小的javascript代码中,但我们很少使用它。乍一看,逗号运算符的工作方式可能类似于分号,但在这种情况下,它们非常不同:for循环需要3条输入语句,但使用逗号运算符只能生成一条。看到这个了吗

var labels=document.querySelectorAll(“#uniteLabel”),
unitOutputs=document.querySelectorAll(“UnitOutput”);
对于(变量i=0;i

恩特拉弗斯
生产单位
整体
回答: 用分号替换for循环声明中的逗号

i、 e.以下内容:

for (var i=0, i < labels.length, i++) { 
for(var i=0,i
应该是:

for (var i=0; i < labels.length; i++) { 
for(var i=0;i
更多信息:逗号运算符通常出现在缩小的javascript代码中,但我们很少使用它。乍一看,逗号运算符的工作方式可能类似于分号,但在这种情况下,它们非常不同:for循环需要3条输入语句,但使用逗号运算符只能生成一条。看到这个了吗

var labels=document.querySelectorAll(“#uniteLabel”),
unitOutputs=document.querySelectorAll(“UnitOutput”);
对于(变量i=0;i

恩特拉弗斯
生产单位
整体
首先,您不应该多次使用“id”。根据规范,“id”在HTML中应该是唯一的。您可能会从浏览器中获得奇怪的行为。最简单的修复方法是将它们全部更改为“类”

另一个危险是,使用“post”作为类可能会有其他内容。如果有其他元素包装此
.post
列表,则应使用它来优化选择器。例如


恩特拉弗斯
生产单位
整体
然后,您可以循环浏览帖子:

var posts=document.querySelectorAll(“.posts.post”);
为(让职位的职位){
让uniteLabel=post.querySelector(“.uniteLabel”);
让uniteOutput=post.querySelector(“.uniteOutput”);
开关(uniteLabel.innerHTML | | null){
案例“En travers”:
案例“生产单位”:
if(uniteOutput){uniteOutput.innerHTML=“Stère”;}
打破
“整体”案例:
if(uniteOutput){uniteOutput.innerHTML=“m3”;}
打破
}
}

恩特拉弗斯
生产单位
整体
首先,您不应该多次使用“id”。根据规范,“id”在HTML中应该是唯一的。您可能会从浏览器中获得奇怪的行为。最简单的修复方法是将它们全部更改为“类”

另一个危险是,使用“post”作为类可能会有其他内容。如果有其他元素包装此
.post
列表,则应使用它来优化选择器。例如


恩特拉弗斯
生产单位
整体
然后,您可以循环浏览帖子:

var posts=document.querySelectorAll(“.posts.post”);
为(让职位的职位){
让uniteLabel=post.querySelector(“.uniteLabel”);
让uniteOutput=post.querySelector(“.uniteOutput”);
开关(uniteLabel.innerHTML | | null){
案例“En travers”:
案例“生产单位”:
if(uniteOutput){uniteOutput.innerHTML=“Stère”;}
打破
“整体”案例:
if(uniteOutput){uniteOutput.innerHTML=“m3”;}
打破
}
}

恩特拉弗斯
生产单位
整体

id必须是唯一的id必须是唯一的“唯一id”大多数浏览器都不强制执行此规范,在处理Wordpress输出时很少遵循此规范。您通过更改for循环签名修复了此错误。@mattavatar这是一个可怕的建议虽然未强制执行,但一些javascript API希望使用唯一的id规范。因此,重复的id可能会在将来导致其他问题,值得修复不是这样。(例如,你只能从getElementById中得到1个值)。我没有给出建议——我陈述了一个事实并澄清了“联合国”