Javascript getElementById - 阅读作品,改变不

问题描述:

所以,我有这个相当复杂的ajax事情。 它加载了新的html(包括div标签和所有)以显示在页面上。 我包含一个'更多'链接来加载额外的数据。Javascript getElementById - 阅读作品,改变不

此链接更多链接到我的JavaScript函数。 'more'链接位于div中,我给出了一个唯一的ID。下次调用加载函数时,我使用document.getElementById(id).style.display =“none”;从页面的外观上“移除”这个div。

我为此设置了错误陷阱,发现没有问题的div的div,但javascript无法更改我的样式属性。

我测试了警报(document.getElementById(the id).innerHTML);而且工作没有问题 - 因此是问题的标题。

那么,有没有人有任何想法/我需要提供更多的信息?主要的问题是,它不随处乱扔任何错误,但它未能完成我要求的任务...

下面是一些代码去用它 -

try 
{ 
    var myidthing = "morelink" + ContentStart.toString(); //the id is correct 
    var div = document.getElementById(myidthing); 
    if (!div) 
    { 
    } 
    else 
    { 
     div.style.display="none"; //this doesn't work, but doesn't raise an error 
     alert(div.innerHTML); //this works without problem 
    } 
} 
catch(theerr) 
{ 
    alert(theerr); 
} 

--- ---------------------->编辑< ------------------------- 如果我让任何人感到不安,我感到非常抱歉。 我对自己也很生气,因为在我的代码中这是一件愚蠢的事情。基本上,我有一个变量,存储父div的内容。然后,我(成功地)使用removeChild()方法删除div。然后,我的代码将该可变内容(包括我想要离开的div)的内容粘贴回父分区。 我切换了订单,现在工作正常。

再次,请原谅我。

+0

你可以发布代码,我们可以看看吗?这应该工作(虽然你可以使用一个框架,并使自己更容易)。 – wambotron 2009-10-23 22:11:10

+0

您的浏览器的错误控制台是否显示任何错误?在Firefox中,它是工具 - >错误控制台(Ctrl + Shift + J)。 – Travis 2009-10-23 22:13:18

+0

我会尽量在一分钟内将代码的重要部分放在一起。 另外 - 框架...我的项目已经变得太大而无法引入框架。虽然不使用框架,但我仍然学习了很多基础知识 - 我喜欢。 而且没有可能会有影响的错误。此外,我设置了一个错误陷阱.. – MICHhimself 2009-10-23 22:17:12

投掷出来的东西一些想法看:

  • 你说的是由JavaScript产生的股利。是否有可能你所针对的div不是你认为的那个?它可能是你瞄准另一个div,它已经被隐藏,或者被阻挡......或者你所展示的innerHTML带有与你打算瞄准的元素不同的元素。将警报或脚本断点放入if(!div)情况中,并查看它是否正沿着该路径行进。
  • 如果上面的代码只是你的实际代码的精简版本,请检查您的实际代码拼写错误(例如:将style.display =“无”;;)
  • 使用对于Firefox的萤火插件,检查操作完成后的目标元素,并确保在样式信息中显示display:none。如果没有,使用FireBug的调试器来浏览你的javascript,看看你是否能找出原因。
  • 如果存在导致此行为的其他错误,请使用FireBug打破所有脚本错误。
+0

所有有用的指针。我在尝试之前尝试了其中的一些。我100%确定它是我准确定位的div(提醒生成的div ID,提醒它尝试联系的div ID) - 加上它是正确的div,因为我可以*读取*数据。 错别字已经过检查和复查。 我给Firebug一枪。 – MICHhimself 2009-10-23 23:00:05

尝试空引号,而不是“无”,看看是否能工作?:

document.getElementById('element_id').style.display=""; 

做不到这一点,不改变风格,只是增加其隐藏元素的类。