Javascript d3";“隐藏的”;属性错误还是代码中的错误?

Javascript d3";“隐藏的”;属性错误还是代码中的错误?,javascript,d3.js,Javascript,D3.js,我建立了一个网页,可以在1956年和1999年拍摄的两张蟹状星云照片之间切换。该页面在Chrome和Firefox中可以正常工作,但在IE10中不能。我不确定问题是否出在IE10上,而不是我的代码上,因为我必须破解我的代码才能在Chrome和Firefox上运行 以下是IE10中失败的javascript代码片段,在Chrome和Firefox中也能正常工作: if(curHelp=="Show Text"){ curHelp = "Hide Text"; d3s=d3.sele

我建立了一个网页,可以在1956年和1999年拍摄的两张蟹状星云照片之间切换。该页面在Chrome和Firefox中可以正常工作,但在IE10中不能。我不确定问题是否出在IE10上,而不是我的代码上,因为我必须破解我的代码才能在Chrome和Firefox上运行

以下是IE10中失败的javascript代码片段,在Chrome和Firefox中也能正常工作:

if(curHelp=="Show Text"){
    curHelp = "Hide Text";
    d3s=d3.selectAll("p");
    d3s.attr("hidden",false);
    d3s[0][0].hidden=false; // d3s.attr("hidden",false) doesn't work.
    d3s[0][1].hidden=false; // It sets  all "hidden" attribute for paragraphs to true.
    d3s[0][2].hidden=false; // I hacked in these 4 lines just to get the page to work.
    d3s[0][3].hidden=false; 
}else{
    curHelp = "Show Text";
    d3s=d3.selectAll("p");
    d3s.attr("hidden",true);  // this works but maybe because it's a bug?
}
行“d3s.attr(“hidden”,false)将所有段落隐藏属性设置为true

我认为我的代码中存在缺陷,但我不确定我做错了什么,因为当我打算隐藏段落时,.attr函数调用按预期工作,但当我打算显示段落时失败

这里有一个指向我正在处理的问题的链接。

试试这个:

d3.selectAll("p").style("display", "none") 

是一个CSS属性;应该用来设置它而不是.attr

那么为什么当“hidden”设置为true时它会按预期工作?我不明白为什么当我将“hidden”设置为true时.attr调用会工作,但当我使用.attr将其设置为false时失败。但是,d3.selectAll(“p”).style(“display”,“block”)收到了预期的效果。谢谢。