0

我正在尝试从弹出窗口更改父窗口中按钮的类。我可以更改显示,但班级更改似乎没有生效。在弹出窗口中运行的这段代码有什么问题?对 innerHTML 和显示的更改有效,但对 className 无效。

   var messages = window.opener.document.getElementById("messages");
   messages.innerHTML="Now linked to Facebook page at "+  link + ".";

   var firstmessage = window.opener.document.getElementById("firstmessage");
   firstmessage.style.display = 'block';
   firstmessage.style.className += ' notice_msg ';

   var choosefanpagebtn = window.opener.document.getElementById("choosefanpagebtn");
   choosefanpagebtn.style.className = "";
   choosefanpagebtn.style.className = "green_button";

谢谢你。

4

3 回答 3

1

去掉choosefanpagebtn后的.style:

var choosefanpagebtn = window.opener.document.getElementById("choosefanpagebtn");
choosefanpagebtn.className = "green_button";

应该管用。没有测试,告诉我。此外,这条线是不必要的:

choosefanpagebtn.className = "";

因为你没有做+=。如果你以某种方式做到了,然后

choosefanpagebtn.className += "green_button";

后来,我可以看到那条线很有用。

于 2013-07-25T15:47:25.477 回答
1

只需使用 document.getElementById().className

var messages = window.opener.document.getElementById("messages");
messages.innerHTML="Now linked to Facebook page at "+  link + ".";
var firstmessage = window.opener.document.getElementById("firstmessage");
firstmessage.style.display = 'block';
firstmessage.className += ' notice_msg ';
var choosefanpagebtn = window.opener.document.getElementById("choosefanpagebtn");
choosefanpagebtn.className = "green_button";
于 2013-07-25T15:45:58.153 回答
0

您是否尝试删除 .style.className 中的 .style ?

于 2013-07-25T15:43:52.363 回答