0

我已经建立了一个网页,可以在 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 函数调用在我打算隐藏段落时按预期工作,但在我打算显示它们时失败。

这是我正在处理的页面的链接。

4

1 回答 1

0

试试这个:

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

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

于 2013-09-01T20:50:38.163 回答