【问题标题】:Javascript getElementById - reading works, altering doesn'tJavascript getElementById - 读取有效,更改无效
【发布时间】:2009-10-25 07:39:28
【问题描述】:

所以,我正在处理这个非常复杂的 ajax 事情。 它加载新的 html(包括 div 标签和所有标签)以显示在页面上。 我添加了一个“更多”链接来加载更多数据。

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

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

我测试了 alert(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);
}

------------->编辑

再次,对不起。

【问题讨论】:

  • 你能把代码贴出来让我们看看吗?这应该可以工作(尽管您可以使用框架并使自己更容易做到这一点)。
  • 您的浏览器的错误控制台是否显示任何错误?在 firefox 中是 Tools->Error Console (Ctrl+Shift+J)。
  • 我将尝试在一分钟内将代码的重要部分放在一起。还有——框架……我的项目太大了,现在无法引入框架。虽然不使用框架,但我仍然学习了很多基础知识——我喜欢这些。并且没有可能产生影响的错误。此外,我设置了一个错误陷阱..
  • 所有浏览器?只是IE?只是FF?其他?
  • 我认为您可以从 Brian、Matt 和我的回复中看到我们正在努力帮助您,但我们没有人可以复制您的问题。我确实采用了您发布的确切代码,并且无法复制您的问题。它对我来说很好。您的代码中一定还有其他内容。

标签: javascript html css


【解决方案1】:

抛出一些要寻找的东西的想法:

  • 您说 div 是由 javascript 生成的。您所针对的 div 是否可能不是您认为的那个?可能是您正在定位另一个 div,该 div 已经隐藏或受阻......或者您正在显示的 innerHTML 与您打算定位的元素不同。在 if(!div) 情况下也放置一个警报或脚本断点,并查看它是否沿着该路径前进。
  • 如果上述代码只是您的实际代码的精简版,请检查您的实际代码是否存在拼写错误(例如:style.display = "none;";)
  • 使用 FireFox 的 FireBug 插件,在操作完成后检查目标元素,并确保 display: none 出现在样式信息中。如果没有,请使用 FireBug 的调试器检查您的 javascript,看看您是否能找出原因。
  • 使用 FireBug 中断所有脚本错误,以防有其他错误导致此行为。

【讨论】:

  • 所有有用的指针。实际上,我之前尝试过很多。我 100% 确定它是我所针对的确切 div(提醒生成的 div id,提醒它尝试联系的 div id) - 加上它是正确的 div,因为我可以读取从中的数据它。错字已被检查和重新检查无止境。我会试试 Firebug。
【解决方案2】:

尝试使用空引号代替“无”,看看是否有效?:

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

如果做不到这一点,不要改变样式,只需添加一个隐藏元素的类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-11
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    相关资源
    最近更新 更多